我是Swing新手。我使用JTree,JCheckBox,JList和JButton创建了一个小应用程序。我正在使用关联的模型类来存储表示状态。除JButton外,工作正常。我想根据模型的属性更新按钮的文本。基本上,无论用户当前是否登录,它都会从登录/更改为注销。不幸的是,我无法在ButtonModel界面中找到setText方法。谁能告诉我怎么做?
感谢。 PW。
答案 0 :(得分:3)
对于JButton
,您可以使用Action
作为模型。 Action
接口定义JButton
用于从Action
检索其状态的密钥,包括文本的一个:Action.NAME
如果您查看源代码,带有Action
(或简称setAction
方法)的构造函数会使用Action
中的更多信息,然后可以从{{{ 1}}。对于其他构造函数也是如此,例如
ButtonModel
因此,您的评估中似乎正确public JButton(String text, Icon icon) {
// Create the model
setModel(new DefaultButtonModel());
// initialize
init(text, icon);
}
未包含用于显示典型ButtonModel
的所有信息