package hanshunpingstudy;import java.awt.BorderLayout;import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;public class qqFace extends JFrame {
JFrame jFrame = null;
JPanel jPanel2 = null;
JComboBox jComboBox = null;
JButton jButton = null;
JScrollPane jScrollPane = null;
JTextField jTextField = null;
JTextArea jTextArea = null; public qqFace() {
String chatter[] = { "nimam", "caocao", "daiding" };
// jFrame = new JFrame();
jPanel2 = new JPanel();
jTextArea = new JTextArea();
jScrollPane = new JScrollPane(jTextArea);
jComboBox = new JComboBox(chatter);
jTextField = new JTextField(10);
jButton = new JButton("发送");
// 添加组件
/**
* 关键是在这部分,那就是把什么组件加到什么组件里面,
* 要熟知什么是顶级容器,什么是一般容器
*/
// jFrame.add(jScrollPane);
// jPanel.add(jTextArea);
// jScrollPane.add(jPanel);
// jFrame.add(jPane2, BorderLayout.SOUTH);
jPanel2.add(jScrollPane);
jPanel2.add(jTextField);
jPanel2.add(jButton);
this.add(jTextArea);
this.add(jPanel2, BorderLayout.SOUTH);
/**
* this.add(jScrollPane); this.add(jPane2, BorderLayout.SOUTH);
* jPanel2.add(jComboBox, FlowLayout.LEFT); jPanel2.add(jTextField,
* FlowLayout.CENTER); jPanel2.add(jButton, FlowLayout.RIGHT);
*/
// 设置大小
jFrame.setSize(100, 250);
jFrame.setIconImage(new ImageIcon("images/qq.gif").getImage());
jFrame.setTitle("QQ2011");
jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
jFrame.setVisible(true); } public static void main(String[] args) {
qqFace qqface = new qqFace();
}}Exception in thread "main" java.lang.NullPointerException
at hanshunpingstudy.qqFace.<init>(qqFace.java:52)
at hanshunpingstudy.qqFace.main(qqFace.java:61)错误行我用红色标注出来了,我写了几个GUI界面,但是Exception in thread "main" java.lang.NullPointerException这个错误老是出现,很郁闷,我看的是那个韩顺平的视频,人家写的对的,但是我抄过来怎么是错的呢?
我该怎么避免呢?为什么有的代码中这样写是对的,而有的代码中这样写就是错的呢?
我就郁闷了,烦劳各位大神解析,感激不尽啊!
对了,我对组件之间的添加还不是很熟悉其中的规则,对于什么是顶级容器一般容器,一般组件添加规则,不太熟,烦劳了,望各位大神指点。
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;public class qqFace extends JFrame {
JFrame jFrame = null;
JPanel jPanel2 = null;
JComboBox jComboBox = null;
JButton jButton = null;
JScrollPane jScrollPane = null;
JTextField jTextField = null;
JTextArea jTextArea = null; public qqFace() {
String chatter[] = { "nimam", "caocao", "daiding" };
// jFrame = new JFrame();
jPanel2 = new JPanel();
jTextArea = new JTextArea();
jScrollPane = new JScrollPane(jTextArea);
jComboBox = new JComboBox(chatter);
jTextField = new JTextField(10);
jButton = new JButton("发送");
// 添加组件
/**
* 关键是在这部分,那就是把什么组件加到什么组件里面,
* 要熟知什么是顶级容器,什么是一般容器
*/
// jFrame.add(jScrollPane);
// jPanel.add(jTextArea);
// jScrollPane.add(jPanel);
// jFrame.add(jPane2, BorderLayout.SOUTH);
jPanel2.add(jScrollPane);
jPanel2.add(jTextField);
jPanel2.add(jButton);
this.add(jTextArea);
this.add(jPanel2, BorderLayout.SOUTH);
/**
* this.add(jScrollPane); this.add(jPane2, BorderLayout.SOUTH);
* jPanel2.add(jComboBox, FlowLayout.LEFT); jPanel2.add(jTextField,
* FlowLayout.CENTER); jPanel2.add(jButton, FlowLayout.RIGHT);
*/
// 设置大小
jFrame.setSize(100, 250);
jFrame.setIconImage(new ImageIcon("images/qq.gif").getImage());
jFrame.setTitle("QQ2011");
jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
jFrame.setVisible(true); } public static void main(String[] args) {
qqFace qqface = new qqFace();
}}Exception in thread "main" java.lang.NullPointerException
at hanshunpingstudy.qqFace.<init>(qqFace.java:52)
at hanshunpingstudy.qqFace.main(qqFace.java:61)错误行我用红色标注出来了,我写了几个GUI界面,但是Exception in thread "main" java.lang.NullPointerException这个错误老是出现,很郁闷,我看的是那个韩顺平的视频,人家写的对的,但是我抄过来怎么是错的呢?
我该怎么避免呢?为什么有的代码中这样写是对的,而有的代码中这样写就是错的呢?
我就郁闷了,烦劳各位大神解析,感激不尽啊!
对了,我对组件之间的添加还不是很熟悉其中的规则,对于什么是顶级容器一般容器,一般组件添加规则,不太熟,烦劳了,望各位大神指点。
解决方案 »
- 关于Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException的问题
- 关于继承中遇到的一些问题,希望大家来帮帮我
- 关于用java程序调用终端命令的问题,请高手帮忙
- 技术帖,如果你想了解多态(关于多态性的动态绑定问题,对象调用方法的执行过程),那你不防来看看.虽有钻牛角尖的嫌疑,但你一定会发现
- JDBC: 插入一条新记录到数据库,怎么得到这条记录的Auto_Increment值。
- 30分急!如何将gui图形界面源代码压缩成exe文件??
- 各位大哥我正在考试,大家快来帮忙啊
- 問各有關LINUX的問題
- 外行问题:想学Java,难学否?怎么入门?要多长时间算可以了?
- 请问:在实际应用中java中的数组和vector对象各有什么优缺点
- jtable 存值问题
- 问一个对象作为函数形参的问题
JFrame jFrame = null;
JPanel jPanel2 = null;
JComboBox jComboBox = null;
JButton jButton = null;
JScrollPane jScrollPane = null;
JTextField jTextField = null;
JTextArea jTextArea = null;public qqFace() {
String chatter[] = { "nimam", "caocao", "daiding" };
// jFrame = new JFrame();
jPanel2 = new JPanel();
jTextArea = new JTextArea();
jScrollPane = new JScrollPane(jTextArea);
jComboBox = new JComboBox(chatter);
jTextField = new JTextField(10);
jButton = new JButton("发送");
// 添加组件
/**
* 关键是在这部分,那就是把什么组件加到什么组件里面,
* 要熟知什么是顶级容器,什么是一般容器
*/
// jFrame.add(jScrollPane);
// jPanel.add(jTextArea);
// jScrollPane.add(jPanel);
// jFrame.add(jPane2, BorderLayout.SOUTH);
jPanel2.add(jScrollPane);
jPanel2.add(jTextField);
jPanel2.add(jButton);
this.add(jTextArea);
this.add(jPanel2, BorderLayout.SOUTH);
/**
* this.add(jScrollPane); this.add(jPane2, BorderLayout.SOUTH);
* jPanel2.add(jComboBox, FlowLayout.LEFT); jPanel2.add(jTextField,
* FlowLayout.CENTER); jPanel2.add(jButton, FlowLayout.RIGHT);
*/
// 设置大小
jFrame.setSize(100, 250);
jFrame.setIconImage(new ImageIcon("images/qq.gif").getImage());
jFrame.setTitle("QQ2011");
jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
jFrame.setVisible(true);}public static void main(String[] args) {
qqFace qqface = new qqFace();}}
// jFrame = new JFrame();
注释掉,你注释掉,jFrame 就没有实例化,也就就是null,那你后面再调用
jFrame.setSize(100, 250);
jFrame.setIconImage(new ImageIcon("images/qq.gif").getImage());
jFrame.setTitle("QQ2011");
jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
jFrame.setVisible(true);
肯定会报空指针异常了
JFrame jFrame = null;
这里的属性 就是给null 下面也看到构造~~
自己说 这是不是 会报空指针 啊~·
这个跟你继承 JFrame 没关系啊
JFrame jFrame = null;
这里的属性 就是给null 下面没看到实例化啊~~
自己说 这是不是 会报空指针 啊~·
这个跟你继承 JFrame 没关系啊
已经有几个人给你答案了,还纠结什么?
JFrame jFrame = new JFrame();
“JFrame jFrame = null;”这是你自己写的,你后面没有实例化,就直接用了,JFrame还是null,jFrame.setSize(100, 250);这行JFrame是不能为null的,为空就会报空指针异常,就是NullPointerException