| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 543 人关注过本帖
标题:这个问题太怪了,请帮帮我吧.
只看楼主 加入收藏
qvbhsskg
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-4-28
收藏
 问题点数:0 回复次数:3 
这个问题太怪了,请帮帮我吧.
是一个选择框的程序:编译通过了,运行时出现:
Exception in thread "main" java.lang.NullPointerException
        at (ll.java:18)
        at ll.main(ll.java:56)
源程序如下,请帮帮我啊.
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
class combobox implements ItemListener
{JFrame frame;
JComboBox choice1,choice2;
JTextField text1,text2;
JPanel panel1,panel2;
void combobox()
{frame=new JFrame("jcomboBox演示窗口");
panel1=new JPanel();
panel2=new JPanel();
choice1=new JComboBox();
choice1=new JComboBox();
text1=new JTextField(10);
text2=new JTextField(10);
choice1.addItem("音乐");choice2.addItem("重庆");
choice1.addItem("新闻");choice2.addItem("北京");
choice1.addItem("体育");choice2.addItem("上海");
choice1.addItem("生活");choice2.addItem("天津");
choice1.addItem("教育");choice2.addItem("四川");
Container con=frame.getContentPane();
con.setLayout(new BoxLayout(con,BoxLayout.Y_AXIS));
panel1.add(choice1);panel1.add(choice2);
panel2.add(text1);panel2.add(text2);
con.add(panel1);con.add(panel2);
choice1.addItemListener(this);
choice2.addItemListener(this);
frame.setSize(600,600);
frame.setVisible(true);frame.show();
}
public void itemStateChanged(ItemEvent e)
{if(e.getItemSelectable()==choice1)
{if(choice1.getSelectedIndex()==0)
{text1.setText("音乐");}
else if(choice1.getSelectedIndex()==1)
{text1.setText("新闻");}
else if(choice1.getSelectedIndex()==2){text1.setText("体育");}
else if(choice1.getSelectedIndex()==3){text1.setText("生活");}
else if(choice1.getSelectedIndex()==4){text1.setText("教育");}
}
else if(e.getItemSelectable()==choice2)
{
if(choice2.getSelectedIndex()==0)
{text1.setText("重庆");}
else if(choice2.getSelectedIndex()==1){text1.setText("北京");}
else if(choice2.getSelectedIndex()==2){text1.setText("上海");}
else if(choice2.getSelectedIndex()==3){text1.setText("天津");}
else if(choice2.getSelectedIndex()==4){text1.setText("四川");}
}
}}
public class ll{
public static void main(String args[])
{combobox kk=new combobox();
();}
}
2005-09-23 21:52
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
try it
[CODE]
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;

class combobox implements ItemListener
{
  JFrame frame;
  JComboBox choice1,choice2;
  JTextField text1,text2;
  JPanel panel1,panel2;
  final String [] name1 = {"音乐", "新闻", "体育", "生活", "教育"};
  final String [] name2 = {"重庆", "北京", "上海", "天津", "四川"};   
  public combobox()
  {
    frame = new JFrame("jcomboBox演示窗口");
    panel1 = new JPanel();
    panel2 = new JPanel();
    choice1 = new JComboBox(name1);
    choice2 = new JComboBox(name2);
    choice1.setSelectedIndex(-1);
    choice2.setSelectedIndex(-1);
    text1 = new JTextField(10);
    text2 = new JTextField(10);
   
    Container con = frame.getContentPane();
    con.setLayout(new BoxLayout(con,BoxLayout.Y_AXIS));
    panel1.add(choice1);
    panel1.add(choice2);
    panel2.add(text1);
    panel2.add(text2);
    con.add(panel1);
    con.add(panel2);
    choice1.addItemListener(this);
    choice2.addItemListener(this);
    frame.setSize(600,600);
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
  
  public void itemStateChanged(ItemEvent e)
  {
    int index = 0;
    if(e.getItemSelectable()==choice1)
    {
      index = choice1.getSelectedIndex();
      text1.setText(name1[index]);
    }
    else if(e.getItemSelectable()==choice2)
    {
      index = choice2.getSelectedIndex();
      text2.setText(name2[index]);
    }
  }
}

public class ll
{
  public static void main(String args[])
  {
    combobox kk=new combobox();
  }
}
[/CODE]

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-09-23 22:42
qvbhsskg
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-4-28
收藏
得分:0 
版主这个编译是通过,运行时还是出现这样的提示.
Exception in thread "main" java.lang.NullPointerException
        at (ll.java:18)
        at ll.main(ll.java:56)
2005-09-23 23:01
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
不可能,
第18行 是 panel2 = new JPanel(); 没有NullPointerException 的道理.

你将你原来的那个程序删掉, 然后重新建立一个新的文件,将2楼的程序Copy 下来,存为 ll.java
然后在Dos下编译。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-09-23 23:23
快速回复:这个问题太怪了,请帮帮我吧.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019941 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved