【发布时间】:2015-03-13 12:41:28
【问题描述】:
我的主类扩展了 JFrame 并有一个包含图形组件的 JPanel,之前我有以下代码:
public class StartGUI extends JFrame implements ActionListener {
public StartGUI {
graphArea = new JPanel() {
public void paintComponent(Graphics g) {
super.paintComponent(g);
drawNetwork(myNetwork, this, g);
}
};
add(graphArea);
}
但是现在我希望将图形区域更改为仅在按下 JButton 后才显示,我将如何移动此 JPanel 以在 actionPerformed 方法中更新 drawNetwork?
public void actionPerformed(ActionEvent e) {
if(e.getSource() == readButton) {
graphArea = new JPanel() {
public void paintComponent(Graphics g) {
super.paintComponent(g);
drawNetwork(myNetwork, this, g);
}
};
}
上述方法似乎不起作用,我该如何解决这个问题?
【问题讨论】:
-
你不能只创建 graphArea 并让它变得难以理解。在 actionPerformed() 中调用 graphArea.setVisible(true)
-
不,因为这是我的代码的简化。真正的按钮会提示一个文件选择器,该选择器会更改显示的图形。
标签: java swing graphics jpanel