私は、DynamicDataDemoクラスを持っています.DynamicDataDemoにはnullポインタキャッチがあります。しかし、なぜjPanelがnullとして渡されているのか分かりません。これは、netbeansによって境界線レイアウトとして初期化され、サイズも宣言されます。私のメインクラスでJPanelがnullとして渡される
public DynamicDataDemo(final String title){
this(title,null);
}
public DynamicDataDemo(final String title, JPanel panel){
super(title);
setContentPane(initContents(panel));
}
public JPanel initContents(JPanel contentPanel){
if (contentPanel == null){
System.out.print("You are Here");
contentPanel = new JPanel(new BorderLayout());
}
this.series = new TimeSeries("Data", Millisecond.class);
final TimeSeriesCollection dataset = new TimeSeriesCollection(this.series);
final JFreeChart chart = createChart(dataset);
final ChartPanel chartPanel = new ChartPanel(chart);
contentPanel.setLayout(new BorderLayout());
contentPanel.removeAll();
contentPanel.add(chartPanel, BorderLayout.CENTER);
contentPanel.validate();
return contentPanel;
}
私は、任意の提案やソリューションを大幅に高く評価
Final DynamicDataDemo dynamicPlot = new DynamicDataDemo("nameOfPlot", jPanel1);
を呼びます!
次のコードは、NetBeansのによって生成されました:
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jPanel1.setBackground(new java.awt.Color(0, 0, 0));
jPanel1.setLayout(new java.awt.BorderLayout());
jPanel2.setBackground(new java.awt.Color(0, 0, 0));
jPanel2.setLayout(new java.awt.BorderLayout());
}
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
// End of variables declaration
コードは、私が書いた:
final DynamicDataDemo dynamicEyePlot = new DynamicDataDemo("Eye Height", jPanel1);
final DynamicDataDemo dynamicGainPlot = new DynamicDataDemo("Gain",jPanel2);
あなたのjPanel1がnullの場合、あなたは私がjPanel1から取得する場所、私が表示さんか –
からjPanel1を得たショー?私はjPanel1を宣言したメインクラスから渡しています。 – Emunzy
は、どこからDynamicDataDemoを呼び出すか、どこに渡すかを示すパネルを表示します。私が見ているのは、新しいDynamicDataDemo( "nameOfPlot"、jPanel1)です。しかし、私はjPanel1が作成またはrefrencedされているかを確認したい。 –