最初遇到这个问题是用JavaGUI来做界面,定义了几个选项,因为不止一个JcomboBox,为了节省力气,就直接复制代码改名字了,但是这样做就会导致出现空指针异常的问题。尝试了好多方法都不行,正当我百思不得其解的时候,突然想起来这个好像是复制的另一个代码,另一个行,为什么这个不行,于是就把它删掉,重新写了一遍,运行成功!
下面是一个小例子:
JComboBox comboBox = new JComboBox();
comboBox.setModel(new DefaultComboBoxModel(new String[] {"言情", "科技", "玄幻", "推理", "悬疑", "武侠"}));
comboBox.setBounds(303, 98, 150, 23);
contentPanel.add(comboBox);
JComboBox comboBox_1 = new JComboBox();
comboBox_1.setModel(new DefaultComboBoxModel(new String[] {"公开", "管理员可见", "粉丝可见", "私密"}));
comboBox_1.setBounds(303, 175, 150, 23);
contentPanel.add(comboBox_1);
当我们想要获取组件内容时,如下所示
String articleCategory =(String) comboBox.getSelectedItem();
String articleLimit =(String) comboBox_1.getSelectedItem();
获取已填写组件内容进行回显,若出现空指针异常,就看下是哪个组件导致的,把它删掉重新写就好了。
所以当你做界面时,碰到空指针异常,数据传输不来的时候,在代码没有任何问题的时候,大概可能是你复制GUI组件代码进行了改名,可以把JavaGUI组件重新写一下试试,获取其他组件空指针异常同样的方法。