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())的来源以查看其来自哪个按钮。
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()
第二种方法还允许你直接调用选择方法。在这种情况下,你也可以调用selectionButtonPressed()是否还会发生其他操作-例如,当计时器关闭或发生其他情况时(但在这种情况下,你的方法将被命名为其他名称,也许selectionChanged())。
selectionChanged()