【问题标题】:Fit Jfreechart into panel from netbeans GUI builder将 Jfreechart 安装到 netbeans GUI builder 的面板中
【发布时间】:2016-03-23 00:45:39
【问题描述】:

我正在使用 Netbeans GUI 构建器将面板放入 Jframe,其中面板的大小由我在 GUI 构建器中设置。我想在这个面板中嵌入一个图表。使用以前 SO 线程的答案,我可以按如下方式实现此行为:

ChartPanel p = new ChartPanel(chart);
jPanel1.setLayout(new java.awt.BorderLayout());
jPanel1.setPreferredSize(new Dimension(400, 200));    
jPanel1.add(p, BorderLayout.CENTER);
jPanel1.validate();

我使用setPreferredSize 作为更改绘图大小的一种方式。否则,与我在面板上设置的实际大小相比,我的情节是巨大的。如何让setPreferredSize 从 netbeans GUI 中创建的面板尺寸推断出正确的尺寸?现在,我必须手动传递一个Dimension,每次我弄乱 UI 时都需要调整它。

谢谢

【问题讨论】:

标签: java swing user-interface netbeans


【解决方案1】:

对我有用的是继承 ChartPanel 并给它一个无参数构造函数,它只是将 null 传递给超类。

public class MyChartPanel extends ChartPanel {

    public MyChartPanel() {
        super(null);
    }
}

编译文件,然后您就可以将类从“项目”窗口拖到 GUI 设计器中,并在 gui 面板中更改大小。

您也可以在“项目”窗口中选择文件并右键单击弹出菜单并选择Tools -> Add to Palette ... 将其永久添加到 GUI 设计器调色板中,以便于重复使用。

在我的 netbeans 生成的 JFrame 类的构造函数中,我在 initComponents() 返回后为面板设置了图表。

public MyJFrame() {
    initComponents();
    CategoryDataset dataset = createDataset(); // example custom application specific function for creating a dataset
    JFreeChart chart = createChart(dataset); // example custom application specific function for creating JFreeChart
    this.myChartPanel1.setChart(chart);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 2012-03-17
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 2012-07-26
    相关资源
    最近更新 更多