私はnetbeans GUIジェネレータを使用してGUIを生成しました。私は2つのパネルを持っており、このうちの1つでは、グラフパネルを表示したいと考えています。 NetBeansので生成されたコードは次のとおりです。JfreeChart(ChartPanel)をNetBeansによって生成されたJpanelで表示する方法
TimeSeriesCollection dataset = new TimeSeriesCollection();
for (int i = 0; i < 5; i++) {
TimeSeries pop = new TimeSeries("try "+i, Day.class);
pop.add(new Day(10+i, 1+i, 2004+i), 100*(i+2));
pop.add(new Day(10+1*i, 1+2+i, 2004+i+1), 150*(i+2));
pop.add(new Day(10+2*i, 1+2*i, 2004+i+2), 150*(i+3));
pop.add(new Day(10+3*i, 1+2*i, 2004+i+3), 150*(i+4));
pop.add(new Day(10+4*i, 1+2*i, 2004+i+10), 150*(i+5));
dataset.addSeries(pop);
}
TimeSeries pop = new TimeSeries("Try asjhaihsiuahsiuahiushaiushiauhsiuhasiua"+100, Day.class);
int i=5;
pop.add(new Day(1, 1+i, 2004+i), 100*(i+2));
pop.add(new Day(2, 1+2+i, 2004+i+1), 150*(i+2));
pop.add(new Day(3, 1+2*i, 2004+i+2), 150*(i+3));
pop.add(new Day(4, 1+2*i, 2004+i+3), 150*(i+4));
pop.add(new Day(5, 1+2*i, 2004+i+10), 1500*(i+5));
dataset.addSeries(pop);
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"Population of CSC408 Town",
"Date",
"Population",
dataset,
true,
true,
false);
ChartPanel p = new ChartPanel(chart);
jPanel1.add(p);
しかしchartpanelはJPanelの内側に表示されません..私は何を行うことができます。
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 394, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 294, Short.MAX_VALUE)
);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 400, Short.MAX_VALUE)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap()))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 300, Short.MAX_VALUE)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap()))
);
}
iはあるが、JPanelのためのchartpanelを追加するために何をやりましたか?手伝って頂けますか?
私はSwingの専門家ではないが、Netbeansのことで構築されたGroupLayoutは持っているので、それは次のようになります。
また、あなたが新しいものとチャートを更新したい場合は、ケースにパネルを取り外すことができますあなたのチャートのために残っている場所はありません - それを追加すると、そこには表示されません...チャートを追加する前に 'jPanel1.setLayout(new xxx)'を試してみてください。もしあなたがどこに問題があるのか分かっていれば...何xxxを使うことができるのか分かりません。ちょうどデフォルトの 'new GroupLayout()'は動くでしょう – assylias
私はChartPanelを試していますp = new ChartPanel(chart); jPanel1.setLayout(new BorderLayout()); jPanel1.add(p、BorderLayout.CENTER);しかし何:( – JackTurky