countresultsfrom.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e)
                {
                    Color orginalColor = mcoef.getBackground();
                    switch(countresultsfrom.getSelectedIndex())
                    {
                        case 0: // Mech Cnt;
                            mtotal.setBackground(Color.YELLOW);

                            if(mstatus.getSelectedIndex() == 2)
                            {
                                countresultsfrom.setSelectedIndex(2);
                                // countresultsfrom <----- CALL EVENT ???
                            }

                            etotal.setBackground(orginalColor);
                            ctotal.setBackground(orginalColor);
                        break;
                        case 1: // El Cnt;
                            etotal.setBackground(Color.YELLOW);

                            if(estatus.getSelectedIndex() == 2)
                            {
                                countresultsfrom.setSelectedIndex(2);
                            }

                            mtotal.setBackground(orginalColor);
                            ctotal.setBackground(orginalColor);
                        break;
                        case 2:
                            ctotal.setBackground(Color.YELLOW);

                            etotal.setBackground(orginalColor);
                            mtotal.setBackground(orginalColor);
                        break;
                    }
                }
            });


如何再次调用监听器?

最佳答案

您可以简单地调用yourListener.actionPerformed(/*some event*/ e)。请注意,它不会作为事件处理,而是作为常规方法调用处理。
#1是简单的技术方法。不推荐。如果希望发生某种逻辑,请将其包装在一个方法中并调用该方法,ActionListeners用于处理GUI事件。

10-01 14:48
查看更多