Hey,
I am writing this program in which I get x and y coordinates on stdout from a C program.....something like
23 34
45 56
21 56
..
.
and so on....
now I need to pipe these values into a Java program and display a cube at the corresponding x and y values.....
so I tried using <c program> | java Tail....but it doesnt seem to take any input at all.
The code is as follows:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.io.*;
import java.util.*;
public class Tail extends JPanel{
private static int mX, mY;
private static Image mImage;
public static void main(String[] args) {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=null;
JFrame f = new JFrame();
f.getContentPane().add(new Tail());
f.setSize(400, 600);
f.show();
while(true)
{
try
{
while((str=br.readLine())!=null);
String ak[]=new String[2];
ak=str.split(" ");
mX=Integer.parseInt(ak[0]);
mY=Integer.parseInt(ak[1]);
System.out.println(mX+" "+mY);
}
catch(Exception e)
{}
}
}
public void update(Graphics g) {
paint(g);
}
public void paint(Graphics g) {
// Clear the offscreen image.
Dimension d = getSize();
checkOffscreenImage();
Graphics offG = mImage.getGraphics();
offG.setColor(getBackground());
offG.fillRect(0, 0, d.width, d.height);
// Draw into the offscreen image.
paintOffscreen(mImage.getGraphics());
// Put the offscreen image on the screen.
g.drawImage(mImage, 0, 0, null);
repaint();
}
private void checkOffscreenImage() {
Dimension d = getSize();
if (mImage == null || mImage.getWidth(null) != d.width
|| mImage.getHeight(null) != d.height) {
mImage = createImage(d.width, d.height);
}
}
public void paintOffscreen(Graphics g) {
int s = 100;
g.setColor(Color.blue);
g.fillRect(mX - s / 2, mY - s / 2, s, s);
}
}
Please tell me what am I doing wrong....and what should be done.