【发布时间】:2012-05-25 22:34:21
【问题描述】:
我已经开始为我的 Java 课程开发一个项目 - LAN gomoku/连续五个。游戏板由一个填充有按钮 (JButton) 的二维数组表示。使用事件处理程序(clickHandler 类),我想在单击的按钮上绘制一个椭圆(clickHandler 对象的参数)。我的以下代码没有工作(我不知道如何摆脱变量 g 的空值)......我将不胜感激任何建议。非常感谢。
class clickHandler implements ActionListener {
JButton button;
Dimension size;
Graphics g;
public clickHandler(JButton button) {
this.button = button;
this.size = this.button.getPreferredSize();
}
@Override
public void actionPerformed(ActionEvent ae) {
this.g.setColor(Color.BLUE);
this.g.fillOval(this.button.getHorizontalAlignment(), this.button.getVerticalAlignment(), this.size.width, this.size.height);
this.button.paint(this.g);
this.button.setEnabled(false);
}
}
(在一个创建 GUI 的类中 - 充满按钮的游戏板 - 我为每个按钮分配一个新的 Action Listener - clickHandler 的一个实例)这样:
gButton.addActionListener(new clickHandler(gButton));
【问题讨论】:
-
“我将不胜感激任何建议。” 停止胡闹,将椭圆形图像放在方形按钮上。我非常怀疑 a) 学校项目需要椭圆形按钮。 b) 你可以让它在适合提交项目的时间内工作。 -- 不打算成为一个杀人狂,只是建议你最后(或根本不)这样做。
标签: java swing jbutton paintcomponent gomoku