我试图通过增加另一个类(测试类)中的turn变量来禁用GUI类中的JButton。这是一个较大的学校项目的简化摘录和摘录。尝试根据模型返回的数据从控制器类修改视图或GUI。
这是GUI类
import java.awt.event.*;
import javax.swing.*;
public class test implements ActionListener {
private int turn;
private JFrame d;
private JButton a;
private int clicked;
public test() {
clicked=0;
turn=0;
d = new JFrame();
a = new JButton();
d.add(a);
a.addActionListener(this);
d.setSize(75,150);
d.setVisible(true);
}
public int getTurn() {
return turn;
}
public void setTurn(int turn) {
this.turn = turn;
}
public int getClicked() {
return clicked;
}
public void setClicked(int clicked) {
this.clicked = clicked;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new test();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
clicked=1;
if(turn==3) {
((JButton)e.getSource()).setEnabled(false);
}
}
}
这是试图进行GUI更改的类
public class test2 {
private int turn;
private test gui;
public test2() {
gui = new test();
while(gui.getTurn()<3){
play();
}
}
public void play() {
if(gui.getTurn()<=3 && gui.getClicked()==1) {
gui.setTurn(gui.getTurn()+1); //update the turn variable in the gui
gui.setClicked(0);
}
}
public static void main(String[] args) {
new test2();
}
}
我们非常感谢您的帮助