如何在JPanel上绘制“甘特图”?

时间:2015-05-09 11:22:24

标签: java swing netbeans charts paintcomponent

我正在尝试实施CPU调度算法......我正在使用java swing(不是运行时设计)

这是我的主要表单的外观: 我是通过拖动摇摆容器/控件/菜单中的组件并将它们放在JFrame上来设计的。

我在FCFS标签的主面板上有一个JPanel。我想在该面板上绘制一个“甘特图”(如图所示)。我已经阅读了很多教程并在绘图线上实现了很多示例,但我不知道如何在我的代码中使用@Override painComponent()方法,因为所有变量和方法都是自动生成的(使用NetBeans IDE),我无法找到我的JPanel(我想在其上绘制线条)。

enter image description here

我想像这样绘制一个“甘特图”。当用户为多个进程输入CPU突发并按“计算”按钮时,它将自动生成。如果用户为每个进程输入“10 ms”突发,将生成当前图表。

enter image description here

在这张图片中,我试图解释组件的顺序,我已经在我的JFrame中添加了它们的变量名称。

enter image description here

我正在寻找过去15天的解决方案......但我遇到了这个问题......请帮我解决这个问题。

请帮助我......

1 个答案:

答案 0 :(得分:1)

关键是首先要了解Swing如何使用MVC模式,检查here。就像JTable收听TableModel时,JFreeChart甘特图会听取自己的CategoryDataset,图示为herehere

覆盖setValueAt()中的TableModel并相应地更新CategoryDatasetJTable和甘特图都会自行更新。如果需要,您可以更改显示GanttRendererhere

虽然debatable,我在开发的这个阶段提倡对GUI构建器进行手动编码?如果您使用构建器,请按照here概述的范围限制。