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(); } );
</pre>; 稍后,您必须定义selectionButtonPressed()
。 当您有多个按钮时,这种方法会更好用,因为处理操作的各个方法的调用就在按钮定义的旁边。第二种方法还允许您直接调用选择方法。 在这种情况下,如果发生了其他操作,例如计时器关闭或其他操作,您也可以调用
selectionButtonPressed()
(但在这种情况下,您的方法将被命名为不同的名称,也许是selectionChanged()
)。