从valuechanged方法Java Swing调用操作

从valuechanged方法Java Swing调用操作,java,swing,Java,Swing,我想调用一个单独类中的动作 public class ShowMPCAction extends AbstractAction { @Override public void actionPerformed(ActionEvent e) { // action code } } 从班上 public class PLListSelectionListener implements ListSelectionListener { @Overr

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

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
        }
    }

如何执行此操作?

您只需创建ShowMPCAction的实例并直接调用该方法即可

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

这就是您要寻找的吗?

最好的方法是将ShowMPCAction注入PL ListSelectionListener,例如通过构造函数最简单的方法是创建一个虚拟JButton,并像这样调用它的click事件

在public void valueChangedListSelectionEvent e{方法中


它只会变成一个方法调用,而不是一个控制事件。我没有读到任何关于控制事件的内容…只是调用操作是个问题…我猜调用操作是指一个控制事件。我想在从JTable中选择行时调用此操作在选择行时,我假设调用了valueChanged方法。在这里,我强制激活了如何通过创建虚拟按钮进行计算。
javax.swing.JButton jb = new javax.swing.JButton(new ShowMPCAction());
jb.doClick();