我正在使用 SWING 创建一个 GUI。有些按钮附加了自定义操作。 我的代码如下所示:
JButton btn = new JButton(text);
btn.setAction(new MyAction());
我的操作类构造函数执行以下操作:
super(text) //set the label of the button
我的问题是:由于我认为重复相同的参数(文本)两次似乎是错误的,我应该如何处理这个问题?创建没有文本的按钮并让操作设置文本(可能作为构造函数参数)?处理这个问题的正确方法是什么? 谢谢
最佳答案
使用AbstractAction(String name)
包含名称
的构造函数。举了几个例子here .
附录:正如 @MadProgrammer 所评论的,Action.NAME
是 putValue()
的可用 key
。此相关example说明了其他属性的 putValue()
。
关于java - 使用自定义操作时如何避免按钮文本冗余,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13255202/