从valuechanged方法Java Swing调用action

时间:2013-12-10 09:59:55

标签: java swing

我想调用一个单独的类中的动作。

public class ShowMPCAction extends AbstractAction {

    @Override
    public void actionPerformed(ActionEvent e) {
        // action code
    }

}

来自班级

public class PLListSelectionListener implements ListSelectionListener {

    @Override
    public void valueChanged(ListSelectionEvent e) {
        // some code
        if (!lsm.getValueIsAdjusting()) {
            // from here I want to call the action which is in the class ShowMPCAction
        }
    }

我该怎么做?

3 个答案:

答案 0 :(得分:0)

最好的方法是将ShowMPCAction注入PL ListSelectionListener,例如通过构造函数

答案 1 :(得分:0)

最简单的方法是创建一个虚拟JButton并像这样调用它的点击事件。

public void valueChanged(ListSelectionEvent e) {方法中,

javax.swing.JButton jb = new javax.swing.JButton(new ShowMPCAction());
jb.doClick();

答案 2 :(得分:-1)

您可以创建一个ShowMPCAction实例并直接调用该方法。

ShowMPCAction object = new ShowMPCAction();
object.actionPerformed(e);

这是你想要的吗?