| 
        
        
        
       
        
        Java query please help me
       
                  
        the below is a graph java code 
 
 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 
 
 import javax.swing.Timer;
 import javax.swing.JPanel;
 
 
 import org.jfree.chart.ChartFactory;
 import org.jfree.chart.ChartPanel;
 import org.jfree.chart.JFreeChart;
 import org.jfree.chart.axis.ValueAxis;
 import org.jfree.chart.plot.XYPlot;
 import org.jfree.data.time.Millisecond;
 import org.jfree.data.time.TimeSeries;
 import org.jfree.data.time.TimeSeriesCollection;
 import org.jfree.data.xy.XYDataset;
 import org.jfree.ui.ApplicationFrame;
 import org.jfree.ui.RefineryUtilities;
 
 
 /**
 * An example to show how we can create a dynamic chart.
 */
 public class DynamicLineAndTimeSeriesChart extends ApplicationFrame implements ActionListener {
 
 
 /** The time series data. */
 private TimeSeries series;
 
 
 /** The most recent value added. */
 private double lastValue = 100.0;
 
 
 /** Timer to refresh graph after every 1/4th of a second */
 private Timer timer = new Timer(250, this);
 
 
 /**
 * Constructs a new dynamic chart application.
 *
 * @param title  the frame title.
 */
 public DynamicLineAndTimeSeriesChart(final String title) {
 
 
 super(title);
 this.series = new TimeSeries("Random Data", Millisecond.class);
 
 
 final TimeSeriesCollection dataset = new TimeSeriesCollection(this.series);
 final JFreeChart chart = createChart(dataset);
 
 
 timer.setInitialDelay(1000);
 
 
 //Sets background color of chart
 chart.setBackgroundPaint(Color.LIGHT_GRAY);
 
 
 //Created JPanel to show graph on screen
 final JPanel content = new JPanel(new BorderLayout());
 
 
 //Created Chartpanel for chart area
 final ChartPanel chartPanel = new ChartPanel(chart);
 
 
 //Added chartpanel to main panel
 content.add(chartPanel);
 
 
 //Sets the size of whole window (JPanel)
 chartPanel.setPreferredSize(new java.awt.Dimension(800, 500));
 
 
 //Puts the whole content on a Frame
 setContentPane(content);
 
 
 timer.start();
 
 
 }
 
 
 /**
 * Creates a sample chart.
 *
 * @param dataset  the dataset.
 *
 * @return A sample chart.
 */
 private JFreeChart createChart(final XYDataset dataset) {
 final JFreeChart result = ChartFactory.createTimeSeriesChart(
 "Dynamic Line And TimeSeries Chart",
 "Time",
 "Value",
 dataset,
 true,
 true,
 false
 );
 
 
 final XYPlot plot = result.getXYPlot();
 
 
 plot.setBackgroundPaint(new Color(0xffffe0));
 plot.setDomainGridlinesVisible(true);
 plot.setDomainGridlinePaint(Color.lightGray);
 plot.setRangeGridlinesVisible(true);
 plot.setRangeGridlinePaint(Color.lightGray);
 
 
 ValueAxis xaxis = plot.getDomainAxis();
 xaxis.setAutoRange(true);
 
 
 //Domain axis would show data of 60 seconds for a time
 xaxis.setFixedAutoRange(60000.0);  // 60 seconds
 xaxis.setVerticalTickLabels(true);
 
 
 ValueAxis yaxis = plot.getRangeAxis();
 yaxis.setRange(0.0, 300.0);
 
 
 return result;
 }
 /**
 * Generates an random entry for a particular call made by time for every 1/4th of a second.
 *
 * @param e  the action event.
 */
 public void actionPerformed(final ActionEvent e) {
 
 
 final double factor = 0.9 + 0.2*Math.random();
 this.lastValue = this.lastValue * factor;
 
 
 final Millisecond now = new Millisecond();
 this.series.add(new Millisecond(), this.lastValue);
 
 
 System.out.println("Current Time in Milliseconds = " + now.toString()+", Current Value : "+this.lastValue);
 }
 
 
 /**
 * Starting point for the dynamic graph application.
 *
 * @param args  ignored.
 */
 public static void main(final String[] args) {
 
 
 final DynamicLineAndTimeSeriesChart demo = new DynamicLineAndTimeSeriesChart("Dynamic Line And TimeSeries Chart");
 demo.pack();
 RefineryUtilities.centerFrameOnScreen(demo);
 demo.setVisible(true);
 
 
 }
 
 
 }
 
 
 I want to append the above java lines in above code such that the socket should read only once i.e; in public static void main(final String[] args)  and the buffered reader method along with while loop must be in public void actionPerformed(final ActionEvent e).
 try {
 
 
 Socket skt = new Socket("192.168.1.67", 5001);
 //for(;;)
 {
 //Socket skt = new Socket("192.168.1.67", 5001);
 BufferedReader in = new BufferedReader(new
 InputStreamReader(skt.getInputStream()));
 while (!in.ready()) {}
 int value;
 while((value = in.read()) != -1)
 {
 
 }
 in.close();
 }
 }
 catch(Exception e) {}
 |