Program rysuje jakieś tam wykresy przy użyciu jFreeChart. Chcę aby po uruhomieniu programu było puste pole (to mam). Po naciśnieciu przycisku 1 wyświetlał się pierszy wykres. A po naciśnieciu 2 przycisku kasował się ten poprzedni wykres i w jego miejsce wstawiał się nowy wykres.
//...konstruktor okna
pWykres = new JPanel();
getContentPane().add(pWykres, BorderLayout.CENTER);
setSize(620, 460);
//region Menu
JPanel pMenu = new JPanel();
getContentPane().add(pMenu, BorderLayout.SOUTH);
btnRysuj = new JButton("Rysuj");
pMenu.add(btnRysuj);
btnRysuj2 = new JButton("Rysuj2");
pMenu.add(btnRysuj2);
//endregion
}
//tworzy wykres
public void createChartPanel() {
if(java.util.Arrays.asList(getComponents()).contains(pWykres)){ //nigdy tutaj nie wchodzi
getContentPane().remove(pWykres);
}
String chartTitle = "Objects Movement Chart";
String xAxisLabel = "X";
String yAxisLabel = "Y";
JFreeChart chart = ChartFactory.createXYLineChart(chartTitle,
xAxisLabel, yAxisLabel, dataset);
customizeChart(chart);
pWykres = new ChartPanel(chart);
getContentPane().add(pWykres, BorderLayout.CENTER);
setSize(620, 460);
repaint();
}
Wynik końcowy jest taki że wykres się nie pojawia i mogę klikać do woli na przyciski. Chociaż te reagują bo debugger pokazuje że tam wchodzi i nowe dane są generowane a za każdym kliknięciem przechodzę przez metodę createChartPanel() z tym że nic się nie dzieje.