小编典典

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

java

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它们,因此单击它们时可以在程序中调用它们?


阅读 530

收藏
2020-03-16

共1个答案

小编典典

两种方式:

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())。

2020-03-16