ActionPerformed自我执行

时间:2013-06-26 23:32:30

标签: java swing events actionlistener jcombobox

我不明白为什么jcombobox4ActionPerformed中的代码在没有点击任何内容的情况下被执行。一旦程序执行,"执行"消息出现。有什么问题?

public class MainFrame extends javax.swing.JFrame
{

    public MainFrame()
    { 
        initComponents();
        initComboBox();
        initCourses();

        Course[] cours = new Course[7];

        for (int i = 0; i < cours.length; i++) 
        {
            cours[i] = new Course();
        }

        System.out.println(cours.length);
        System.out.println(cours[0].getNameCourse());


        System.out.println("hey");

    }

private void jComboBox4ActionPerformed(java.awt.event.ActionEvent evt) {                                           

    System.out.println("EXECUTED");
}

2 个答案:

答案 0 :(得分:1)

当组合框的选定值发生变化时,

actionPerformed将被执行,但如果没有更多代码,则无法准确地告诉您可能是什么原因

答案 1 :(得分:1)

您可以尝试从ActionEvent打印出动作命令,这样您就可以知道它是什么了

private void jComboBox4ActionPerformed(java.awt.event.ActionEvent evt) { 
    String action = evt.getActionCommand(); 
    System.out.println(action);
} 

然后,如果您希望仅在某些操作上发生certian事件,您可以检查该操作命令

private void jComboBox4ActionPerformed(java.awt.event.ActionEvent evt) {  
    String action = evt.getActionCommand(); 
    System.out.println(action);
    if(action.equals("doBlah")
    {
       System.out.println("Blah blah blah blah");  
    }
}