Witajcie,
to mój pierwszy post postaram się opisać jak najdokładniej o co mi chodzi, ale jeśli by były jakieś niejasności proszę pytać.
Jako że borykam się z bardzo podobnym problemem co przedmówca, podłączę się pod temat.
Mamy aplikację, która posiada buttona po naciśnięciu którego pojawia się nowe okno z wykresem. Jak zamykam wykres to zamyka mi się nie tylko okno z wykresem ale również cała aplikacja.
<ort>
```java
public void pokaz() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //metoda obsługuje zamknięcie głównej aplikacji
setVisible(true);
setResizable(false);
}
</ort>
```java
class DualAxis extends ApplicationFrame {
public DualAxis(final String title) {
super(title);
final CategoryDataset dataset1 = createDataset1();
DualAxis.isDefaultLookAndFeelDecorated();
// tworzymy wykres
final JFreeChart chart = ChartFactory.createBarChart(
"Wykres ilości użytkowników w danej minucie", // tytuł wykresu
"Czas", // domain axis label
"Ilość użytkowników", // range axis label
dataset1, // data
PlotOrientation.HORIZONTAL,
true, // legenda?
true, // podpowiedzi?
false // generator URL?
);
setDefaultCloseOperation(DualAxis.DISPOSE_ON_Close); /// <---- Tu powinno się ustawiać to, że okno z wykresem zostanie schowane, ale tak nie jest.
// NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
chart.setBackgroundPaint(Color.WHITE);
// chart.getLegend().setAnchor(Legend.SOUTH);
// get a reference to the plot for further customisation...
final CategoryPlot plot = chart.getCategoryPlot();
plot.setBackgroundPaint(new Color(0xEE, 0xEE, 0xFF));
plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
final CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_45);
//final ValueAxis axis2 = new NumberAxis("Secondary");
// plot.setRangeAxis(1, axis2);
final LineAndShapeRenderer renderer2 = new LineAndShapeRenderer();
renderer2.setToolTipGenerator(new StandardCategoryToolTipGenerator());
plot.setRenderer(1, renderer2);
plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE);
// OPTIONAL CUSTOMISATION COMPLETED.
// dodaje wykres do panelu
final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(chartPanel);
}
Z Javą dopiero zaczynam programowanie i moja wiedza jest uboga także proszę o wyrozumiałość - jeśli są tu jakieś idiotyczne błędy.