我已经开始为我的 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));