это мой первый вопрос о переполнении стека, я прошу прощения за любые ошибки в описании проблемы, поэтому не стесняйтесь просить больше или другое описание.
Я делаю программу с API jFreeChart, гдеЯ пытаюсь разрешить оперативное редактирование отображаемых диаграмм, создав ChartPanel и обновляя диаграмму внутри него каждый раз, когда производится редактирование.
public void displayChart(JFreeChart chart) {
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setDomainZoomable(true);
chartPanel.setVisible(true);
jPanel3.add(chartPanel, BorderLayout.CENTER);
jPanel3.setLayout(new java.awt.BorderLayout());
jPanel3.validate();
}
private void ChartSelectionActionPerformed(java.awt.event.ActionEvent evt) {
String selection;
selection = ChartSelection.getActionCommand();
if (selection == "S/D") {
Chart Chart = new Chart();
JFreeChart chart = Chart.generateSandDBase();
displayChart(chart);
} else {
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Series Series = new Series();
Chart Chart = new Chart();
XYSeries supply = Series.getSupplySeries();
double tempX;
double tempY;
for (int i = 0; i < 10; i++) {
tempX = (double) supply.getX(i);
tempX = tempX + 1;
tempY = (double) supply.getY(i);
supply.remove(i);
supply.add(tempX, tempY);
System.out.println(supply.getX(i).toString());
System.out.println(supply.getY(i).toString());
}
Series.setSupplySeries(supply);
JFreeChart chart = Chart.generateSandD(supply, Series.getDemandSeries());
displayChart(chart);
}
Я нашел похожие вопросы, но все найденные решения не помогли решить эту проблему.Во время выполнения диаграмма просто не отображается на панели.Я попытался добавить новую панель внутри существующей, а затем добавить ChartPanel внутри нее.Я попытался проверить весь JFrame, а также очистить Jpanel перед добавлением моей ChartPanel, а затем проверить все это после этого.
Я немного беспокоюсь, что это может иметь какое-то отношение к Матиссу, так как яЯ использую конструктор графического интерфейса пользователя NetBeans, который, похоже, работает на магию темного пространства, которая могла бы все это испортить.
Большое спасибо за любую помощь, я начинающий программист, так что все идет очень долго.
Редактировать: Итак, после нескольких часов возни со всем, я услышал что-то о нарушении иерархии, когда я пытаюсь добавить диаграмму во время выполнения.Я не очень много знаю об этом.Есть ли способ для меня, чтобы создать экземпляр моего ChartFrame в конструкторе GUI?Я знаю, где разместить код, но не могу заставить его работать, поскольку для фрейма диаграммы должна быть создана диаграмма.