将Enum值分配给JButton

时间:2015-10-28 10:36:41

标签: java swing user-interface enums

我的class包含Enumclass,其中包含JButton。我可以为我的按钮设置一个Enum值,但是我无法恢复我的价值 - 它只是打印出来null我应该如何检索该值?

 import javax.swing.JButton;
 import javax.swing.JFrame;

 public class Test extends JFrame {

public Test() {

    MyButton button = new MyButton();
    button.setState(State.CROSS);

    button.getState();
    System.out.println(button.getState());
}

public enum State {

    CROSS

    {

        @Override
        public String toString() {

            return "X";
        }
    },
}

class MyButton extends JButton {
    State state;

    public State getState() {
        return state;
    }

    public void setState(State state) {
    }
}

public static void main(String[] args) {
    Test v = new Test();
}

}

1 个答案:

答案 0 :(得分:2)

你的setState()什么都不做,把它改为:

public void setState(State state) {
        this.state = state;
    }