我很难在现有的jpanel中出现ChartPanel.这与Matisse有关



这是我在Stack Overflow上的第一个问题,对于描述该问题的任何错误,我深表歉意,因此请随时要求更多或不同的描述。

我正在使用JFREECHART API制作一个程序,我试图通过创建图表键盘并每次进行编辑时,通过创建图表并刷新其中的图表来实时编辑显示的图表。

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);
}                   

我发现了类似的问题,但是我发现的所有解决方案都没有解决此问题。在运行时,图表根本没有出现在面板中。我尝试在现有的面板中添加一个新面板,然后在其中添加图表板。我已经尝试验证整个Jframe,并在添加我的ChartPanel之前还要擦洗Jpanel,然后验证所有内容。

我有点担心这可能与Matisse有关,因为我使用的是Netbeans的Gui Builder,它似乎在某种可能会搞砸的黑暗空间上运行。

非常感谢您的任何帮助,我是新手程序员,所以一切都走很长一段路。

编辑:因此,在花了几个小时弄乱了一切之后,当我尝试在运行时添加图表时,我听到了一些有关违反层次结构的信息。我对此一无所知。我有没有办法在GUI构造函数中实例化我的图表框架?我知道将代码放在哪里,但是我似乎无法将此作为图表框架进行实例化。

因此,在几个可怕的,可怕的时间搜寻互联网之后,我发现了问题。

事实证明,要在jpanel中拥有一个图表板,jpanel必须在Borderlayout中。我已经尝试过几次尝试过,但是Netbeans中的默认摇摆GUI建造器Matisse似乎不允许在运行时更改放置组件的布局。

我必须在Matisse Design选项卡中,右键单击Jpanel并将布局设置为边框,将JPanel设置为BorderLayout。由于某种原因,Matisse决定将面板大小调整到(0,0),因此必须调整大小。

除了我的代码正确。

相关内容

  • 没有找到相关文章

最新更新