Exi*_*kle 2 java swing jbutton output actionevent
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == thirdBtn) {
//System.out.println("Third Button Click");
System.out.println(e.getSource()+" Click");
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我想知道是否而不是这样做:
//System.out.println("Third Button Click");
Run Code Online (Sandbox Code Playgroud)
如果我能做这样的事情:
System.out.println(e.getSource()+" Click");
Run Code Online (Sandbox Code Playgroud)
但是代码输出:
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
Run Code Online (Sandbox Code Playgroud)
我不想要这个,我想知道如何获取JButton名称并在点击时输出它.
编辑:
有些人很困惑.当我说"名字"(也许这是错误的词)时,我的意思是说你初始化了一个JButton
JButton btnExample = new JButton();
Run Code Online (Sandbox Code Playgroud)
我想要它,以便当您单击按钮时,它btnExample在控制台中输出.
A--*_*--C 11
如果你知道只有JComponents将是e.getSource()我JComponent用作转换的返回值,你可以转换为JComponent,因为它提供了更大的灵活性.如果你只是使用JButtons,你可以安全地转换为JButton.
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == thirdBtn) {
//System.out.println("Third Button Click");
System.out.println(((JComponent) e.getSource()).getName()+" Click");
}
}
Run Code Online (Sandbox Code Playgroud)
随意更换getName()使用getText(),这取决于正是你需要的.
此外,==运算符应仅用于比较Object引用,因此请考虑从头开始转换为JComponent并使用.equals()名称或文本.
编辑 您无法输出变量的名称,但可以设置JComponent的名称/文本.例如
JButton btnExample = new JButton();
btnExample.setName("btnExample");
Run Code Online (Sandbox Code Playgroud)
或者,如果您希望"btnExample"实际显示在按钮上:
JButton btnExample = new JButton();
btnExample.setText("btnExample");
Run Code Online (Sandbox Code Playgroud)
System.out.println(((JButton) e.getSource()).getName() + " Click");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24535 次 |
| 最近记录: |