gpt4 book ai didi

Java-如何询问 "if a JButton is disabled then ___"

转载 作者:行者123 更新时间:2023-12-01 09:35:55 24 4
gpt4 key购买 nike

我是一名六年级学生,正在尝试使用 netbeans 8.1 和 java 编写 TicTacToe 程序。

这是我到目前为止的代码(为了简单起见,我只包含一个按钮的代码):

public class TicTacToe extends JFrame{
static Random computerGenerate = new Random();
static int rounds = 0;
static JPanel panel = new JPanel();
static JButton s1 = new JButton();
public static void main(String[] args) {
Gui();
}
public static void Gui() {
JFrame Gui = new JFrame("TicTacToe");
Gui.setVisible(true);
Gui.setResizable(false);
Gui.setSize(320, 340);
Gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.setLayout(null);
Gui.add(panel);
s1.setBounds(0, 0, 100, 100);
s1.setFont(new Font("Times New Roman", Font.PLAIN, 50));
s1.addActionListener(new Response());
panel.add(s1);
}
private static class Response extends TicTacToe implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == tictactoe.TicTacToe.s1) {
s1.setText("X");
s1.setEnabled(false);
rounds += 1;
}
}
}
public static void Moves() {
if (rounds == 1) {
int computerStartPos = 1 + computerGenerate.nextInt(8);
switch (computerStartPos) {
case 1:
if (button"s1" is disabled)) {
computer will generate a new starting position for the AI
} else {
button s1 will be disabled and it will show a "O" to show the computer has selected the square
}
break;
}
}
}
}

我遇到问题的部分是最后一个方法,方法 Moves()。

我想做的是,在玩家选择了起始方格后,计算机将生成一个数字,1-9,这将确定其自己的起始位置。

我遇到的问题是,如果玩家已经在计算机之前选择了该按钮,我需要计算机重新生成一个新数字作为其起点。

我解决这个问题的想法是“如果 s1.setEnabled() 等于 false,那么计算机将重新生成一个与其新起始位置相对应的新数字”。

这样写可以吗?这只是一个小型项目,但我将不胜感激。

哦,有人告诉我我在java中错误地使用了static,但是如果我不在代码中包含“static”,netbeans会给我错误好几天,直到我的所有代码都像这样红色错误!!!如果有人知道原因或可以解释如何正确使用它,也请这样做:D

我真诚地感谢我收到的任何帮助。

最佳答案

有一个method用于检查按钮是否启用...

if (button.isEnabled()) {

}else {}

if I don't include "static" in the code netbeans gives me errors for days until all of my code is like RED ERROR!!

您无法对非静态字段进行静态引用...

尝试不要使用静态事物并创建实例......

您可以使用作为起点:

从字段中删除 static 关键字,定义构造函数并在主方法中创建实例。

像这样:

// YOU NEED A CONSTRUCTOR
public TicTacToe () {
computerGenerate = new Random();
panel = new JPanel();
s1 = new JButton();
}

public static void main(String[] args) {
TicTacToe demoExample = new TicTacToe ();

demoExample.Gui();
}

关于Java-如何询问 "if a JButton is disabled then ___",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38934162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com