朋友們,在我的應用程序中,我正在使用swingworker爲服務器計數器生成jfreechart。爲此,值在X,Y軸上變化,但圖表不顯示。我的代碼有問題嗎?請檢查它的朋友..圖表不顯示,但在jfreechart中的值更改?
而在「x,y」軸顯示浮點值,但從散列圖實際檢索值是int。如果我正在使用,
Plot.getRangeAxis()。setStandardTickUnits(NumberAxis.createIntegerTickUnits());
意思是,在Y軸只顯示當前值而沒有其附近的值。請解決朋友的兩個問題。我的圖形編碼是,
try
{
System.out.println("Graph Occur");
MySQLClass.GraphLock=false;
Panel1.removeAll();
XYDataset Dataset;
TimeSeries Series = new TimeSeries("Random Data");
Second sec = new Second();
ChartPanel CPanel;
if(Operation_Combo.getSelectedItem().toString().equals("MySQL"))
{
if(MySQLClass.Map_MySql.get(""+MainWindow.SelectedNode+"").equals(null))
{
Value = 0;
}
else
{
Value = Integer.parseInt(MySQLClass.Map_MySql.get(""+MainWindow.SelectedNode+""));
}
System.out.println(Value);
}
if(Operation_Combo.getSelectedItem().toString().equals("SQL Server"))
{
if(SqlServerClass.Map_SQLServer.get(""+MainWindow.SelectedNode+"").equals(null))
{
Value = 0;
}
else
{
Value = Integer.parseInt(SqlServerClass.Map_SQLServer.get(""+MainWindow.SelectedNode+""));
}
System.out.println(Value);
}
String CounterName = MainWindow.SelectedNode.toString();
Series.add(sec, Value);
Dataset = new TimeSeriesCollection(Series);
Chart = ChartFactory.createTimeSeriesChart(CounterName, "Time", "Range", Dataset, true, false, false);
XYPlot Plot = (XYPlot)Chart.getPlot();
// Plot.getRangeAxis().setStandardTickUnits(NumberAxis.createIntegerTickUnits());
CPanel = new ChartPanel(Chart);
Panel1.revalidate();
Panel1.add(CPanel);
Panel1.setBackground(Color.white);
System.out.println("Chart Added");
Panel1.validate();
Thread.sleep(MainWindow.Intervel * 1000);
System.out.println("Sleep="+(MainWindow.Intervel * 1000));
CPanel.repaint();
System.gc();
if(Operation_Combo.getSelectedItem().toString().equals("MySQL"))
{
MySQLClass.SQLLock=true;
new MySQLClass().execute();
}
if(Operation_Combo.getSelectedItem().toString().endsWith("SQL Server"))
{
SqlServerClass.SQLServerLock=true;
new SqlServerClass().execute();
}
}
而結果是,。
在此先感謝。
您已經張貼同樣的片段[這裏](http://stackoverflow.com/q/20884694/230513)和[這裏](http://stackoverflow.com/q/20944719/230513),無試圖按照這樣的方法建議:_不要在美國東部時間睡覺; _do_參見[Swing中的併發](http://docs.oracle.com/javase/tutorial/uiswing/concurrency/)。 – trashgod
我剛剛通過使用那個迴轉工人得到了解決方案。問題是爲什麼圖表不顯示在這裏,但X,Y軸的值在每次迭代中都會改變。我想知道我的代碼中有什麼缺陷。 –
無論你是更新這個問題,還是選擇提出一個新問題,請包括一個[sscce](http://sscce.org/),它展示了你描述的問題和採取的方法。 – trashgod