当前位置: 首页 > 面试题库 >

如何在Java中将ActionListener添加到JButton上

诸葛乐逸
2023-03-14
问题内容
private JButton jBtnDrawCircle = new JButton("Circle");
private JButton jBtnDrawSquare = new JButton("Square");
private JButton jBtnDrawTriangle = new JButton("Triangle");
private JButton jBtnSelection = new JButton("Selection");

如何将动作侦听器添加到这些按钮,以便可以从主要方法调用actionperformed它们,因此单击它们时可以在程序中调用它们?


问题答案:

两种方式:

1.在你的类中实现ActionListener,然后使用jBtnSelection.addActionListener(this); 稍后,你必须定义一个方法public void actionPerformed(ActionEvent e)。但是,对多个按钮执行此操作可能会造成混淆,因为该actionPerformed方法将必须检查每个事件(e.getSource())的来源以查看其来自哪个按钮。

2.使用匿名内部类:

jBtnSelection.addActionListener(new ActionListener() { 
  public void actionPerformed(ActionEvent e) { 
    selectionButtonPressed();
  } 
} );

稍后,你必须定义selectionButtonPressed()。当你有多个按钮时,这样做效果更好,因为对单个操作处理方法的调用就在按钮定义的旁边。

第二种方法还允许你直接调用选择方法。在这种情况下,你也可以调用selectionButtonPressed()是否还会发生其他操作-例如,当计时器关闭或发生其他情况时(但在这种情况下,你的方法将被命名为其他名称,也许selectionChanged())。



 类似资料:
  • 我试图将ActionListener添加到一个标签中,每当用户键入错误的密码或登录时,该标签就会弹出。这是我的登录控制器 我如何能够解决这个问题?我已经尝试了很多次(setOnAction, addMouseListener),但都不起作用:(。 如果你不介意的话,我还想问一下public void initialize函数。这是干什么用的?当我创建类时,它会自动弹出。 提前感谢

  • 问题内容: 需要一个简单的Swing代码来演示如何使用tablecellrenderer和tablecelleditor在Jtable的列中添加按钮。 问题答案: 将按钮添加到 Sample ,这是管理列和行,设置组件 Sample ,它管理在组件上单击鼠标的时间 示例JTable单元格渲染器,管理单元格组件

  • 问题内容: 如何将actionListener添加到使用netbeans放置的现有jCalendar的jDayChooser组件中? 我只想在单击日期按钮时才触发事件。当jCalendar中的propertyChange甚至侦听jMonthChooser和jYearChooser时 使用Toedter的jCalendar的PS 问题答案: 或者,你可以侦听特定的,。 附录: 如何使它适用于 ? 同

  • 问题内容: 在NetBeans中,我已经使用GUI编辑器制作了一个JFrame,并且在框架中放置了一个JPanel。目前,我正在尝试在类构造时在面板中创建一个新按钮。这是我的代码,但似乎无法正常工作。(第一行显示该按钮,其他行尝试显示该按钮。) 我整夜都在搜寻Google,但似乎无法正常运作。 问题答案: 有时候,您看不到按钮是布局管理器问题(因为您没有为布局管理器设置正确的属性)。您可以通过禁用

  • 问题内容: 我有一个jButton,我想为其指定一个快捷方式。就像我按键盘上的Delete键一样,它只需单击一次jButton。我怎样才能做到这一点? 问题答案: 您需要创建一个供按钮使用的。然后,可以使用,并且可以将绑定到。 阅读Swing教程。有以下部分: 如何使用动作 如何使用键绑定 例如: