【发布时间】:2012-12-27 22:24:56
【问题描述】:
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == thirdBtn) {
//System.out.println("Third Button Click");
System.out.println(e.getSource()+" Click");
}
}
在上面的代码中,我想知道是否不这样做:
//System.out.println("Third Button Click");
如果我可以这样做:
System.out.println(e.getSource()+" Click");
但是代码输出:
BlackJack.OverBoard$BlackJackButton[,440,395,100x25,alignmentX=0.0,alignmentY=0.5,
border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@7a3d8738,
flags=16777504,maximumSize=,minimumSize=,preferredSize=,
defaultIcon=,disabledIcon=,disabledSelectedIcon=,
margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],
paintBorder=false,paintFocus=true,
pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,
text=Change,defaultCapable=true] Click
我不想要这个,我想知道如何获取JButton 名称并在点击时输出。
编辑:
有些人很困惑。当我说“名字”时(也许这是错误的词),我的意思是说你初始化了一个JButton
JButton btnExample = new JButton();
我想要这样当你点击按钮时,它会在控制台中输出btnExample。
【问题讨论】:
-
无法做到……按照您现在的方式。你有三个选择。您可以使用
JButton#setText和JButton#getText,这是屏幕上显示的文本,JButton#setName和JButton#getName是内部String引用,所以它可以是您喜欢的任何内容,或者,您可以创建自己的自己的自定义按钮并修改toString方法-不推荐... -
“我想要它,这样当您单击按钮时,它会在控制台中输出
btnExample。” 因为此信息可能对 a 的最终用户不可见GUI,如果他们看到它对他们来说毫无意义,似乎这个用例是指在开发过程中运行的代码。我建议这里实际需要的是一个调试器,也许还有一些日志记录。 -
@AndrewThompson 我理解这一点,但这只是我想知道的教育目的。谢谢
标签: java swing jbutton output actionevent