私は自分のJavaクラスのプロジェクトに取り組み始めました-LAN五目並べ/5連続。ゲームボードは、ボタン(JButton)で満たされた2次元配列で表されます。イベントハンドラー(クラスclickHandler)を使用して、クリックしたボタン(clickHandlerオブジェクトのパラメーター)に楕円を描画します。私の次のコードはうまくいきませんでした(変数gのnull値を取り除く方法がわかりません)...アドバイスをいただければ幸いです。大いに感謝する。
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を作成するクラス-ボタンでいっぱいのゲームボード-各ボタンに新しいアクションリスナー-clickHandlerのインスタンスを割り当てます)このように:
gButton.addActionListener(new clickHandler(gButton));