通过修改另一个不起作用的Java类的变量来更新GUI

时间:2018-11-22 00:46:22

标签: java user-interface

我试图通过增加另一个类(测试类)中的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();
}
}

我们非常感谢您的帮助

0 个答案:

没有答案