当AWT-EventQueue-0线程出现异常时,JComboBox不会触发actionPerformed()

时间:2015-05-13 08:06:02

标签: java swing nullpointerexception actionlistener jcombobox

  //This is my test class 
  Public class crazySwing extends JFrame {
    private DefaultListModel model;
    public crazySwing() {

        initUI();
    }

    private void initUI() {

        Vector v= new Vector();
        v.add(1);
        v.add(2);
        //comboxbox with 2 items  
        JComboBox test  = new JComboBox(v);

        test.addActionListener(new ClickAction());

        createLayout(test);

        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    private void createLayout(JComponent... arg) {

        JPanel pane = (JPanel) getContentPane();
        GroupLayout gl = new GroupLayout(pane);
        pane.setLayout(gl);

        pane.setToolTipText("Content pane");        

        gl.setAutoCreateContainerGaps(true);

        gl.setHorizontalGroup(gl.createSequentialGroup()
                .addComponent(arg[0])
                .addGap(200)
        );

        gl.setVerticalGroup(gl.createSequentialGroup()
                .addComponent(arg[0])
                .addGap(120)
        );



        pack();        
    }

    public static void main(String[] args) {

        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                crazySwing ex = new crazySwing();
                ex.setVisible(true);
            }
        });
    }

private class ClickAction extends AbstractAction {

        @Override
        public void actionPerformed(ActionEvent e) {

           System.out.println("testing on exception");
           //This will trigger a null Pointer exception
           List test = null;
           test.get(0);
        }
    }        
}

大家好,我正在研究Java富客户端,我遇到了上述症状。 当第一次单击JComboBox时,代码将抛出空指针异常,然后,当我再次尝试单击JComboxBox时,不会触发actionPerformed()。

我在JButton上尝试了它,但它不会发生在JButton上。

这不是关于如何解决NPE的问题。请阅读帖子标题。

0 个答案:

没有答案