KAY111 0 Newbie Poster

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.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.20 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.