大伙帮我看看空指针异常

abcd9845 2005-11-23 08:05:08
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class abc extends JFrame{
c a1 = new c();
public abc(){
super("Demo");
this.setSize(300,300);
this.setContentPane(a1);
this.setVisible(true);
}
public static void main(String args[]){
abc z = new abc();
}
}
class c extends JPanel{
JComboBox combo1 = new JComboBox();
JComboBox combo2 = new JComboBox();
JComboBox combo3 = new JComboBox();

public c(){
combo1.addItem("1");
combo1.addItem("2");
this.add(combo1);
this.add(combo2);
this.add(combo3);

combo1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){

combo2.removeAllItems();
if(combo1.getSelectedItem().equals("1")){


combo2.addItem("1.1");
}

if(combo1.getSelectedItem().equals("2")){

combo2.addItem("2.2");
}
}
});

combo2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){

combo3.removeAllItems();
if(combo2.getSelectedItem().equals("1.1")){

combo3.addItem("1.1.1");

}

if(combo2.getSelectedItem().equals("2.2")){

combo3.addItem("2.2.2");
}
}
});
}

}
...全文
76 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouqi724 2005-11-24
  • 打赏
  • 举报
回复
equals改为==
abcd9845 2005-11-24
  • 打赏
  • 举报
回复
能否帮忙给解决以下并且还实现这个功能,谢谢了
tramp73 2005-11-24
  • 打赏
  • 举报
回复

myhotsun(科科)和zhouqi724(J2EE不过如此!!!) 说得都有一部分道理,但最好理解透equals()和==的区别

对基本类型的比较equals()比较的是对象的内容(值),==比较的是对象的内存地址

以后再怎么变用这个一套都OK了的
zhouqi724 2005-11-24
  • 打赏
  • 举报
回复
不可能每次都是常量比较
所以要比较的话如果不确定,用 ==
aaa2003gf 2005-11-24
  • 打赏
  • 举报
回复
教训,和和
myhotsun 2005-11-24
  • 打赏
  • 举报
回复
记住这就是常量写在前面的好处,不存在空指针问题
myhotsun 2005-11-24
  • 打赏
  • 举报
回复
package com.borland.samples.welcome;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class abc
extends JFrame {
c a1 = new c();
public abc() {
super("Demo");
this.setSize(300, 300);
this.setContentPane(a1);
this.setVisible(true);
}

public static void main(String args[]) {
abc z = new abc();
}
}

class c
extends JPanel {
JComboBox combo1 = new JComboBox();
JComboBox combo2 = new JComboBox();
JComboBox combo3 = new JComboBox();

public c() {
combo1.addItem("1");
combo1.addItem("2");
this.add(combo1);
this.add(combo2);
this.add(combo3);

combo1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {

combo2.removeAllItems();
if ("1".equals(combo1.getSelectedItem())) {
combo2.addItem("1.1");
}

if ("2".equals(combo1.getSelectedItem())) {
combo2.addItem("2.2");
}
}
});

combo2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
combo3.removeAllItems();
if ("1.1".equals(combo2.getSelectedItem())) {
combo3.addItem("1.1.1");
}

if ("2.2".equals(combo2.getSelectedItem())) {
combo3.addItem("2.2.2");
}
}
});
}
}
zhouqi724 2005-11-23
  • 打赏
  • 举报
回复
equals 改为 ==
addItem和removeAllItem冲突

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧