this.setSize(200,200); this.setVisible(true); } public static void main(String[] args){ B b=new B(); b.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } 简单的写写
请问我该怎样避免 Exception in thread "main" java.lang.NullPointerException at hanshunpingstudy.qqFace.<init>(qqFace.java:52) at hanshunpingstudy.qqFace.main(qqFace.java:61) 之内的错误呢? 尤其是那一个NULLpointerExceoption的错误?
public B(){ super("qq2010"); this.setLayout(bb); 这两句话是什么意思呢?
对象数组的使用,你如果会使用对象的话,对于对象数组中的对象就是对象的名字是用数组名和下标表示,其他和使用普通数组的都一样,但是对象数组也同样多了一些操做,例如排序等
建议楼主好好的看看java内存机制会对你有帮助的
String[] strs=new String[5];
//将对象数组初始化
for (int i = 0; i < strs.length; i++) {
strs[i]="1";
}
//输出(因为foreach只用于遍历查看,因此数组初始化时不能使用foreach)
for (String string : strs) {
System.out.println(string);
}
对象数组就是数组里面的每个元素都是对象,比如:Int[] i=new Int[5];
其实没啥区别吧?
这就会创建多个对象,因为除了new String(),还要new Object();Object是String的父类
JFrame jFrame;
JPanel jPanel1, jPanel2, jPanel3;
JLabel jLabel1, jLabel2;
JCheckBox jCheckBox1, jCheckBox2, jCheckBox3;
JRadioButton jRadioButton1, jRadioButton2;
JButton jButton1, jButton2; public xuanZeKuang() {
jFrame = new JFrame();
jPanel1 = new JPanel();
jPanel2 = new JPanel();
jPanel3 = new JPanel();
jLabel1 = new JLabel("你喜欢的运动:");
jLabel2 = new JLabel("你的性别:");
jCheckBox1 = new JCheckBox("足球");
jCheckBox2 = new JCheckBox("篮球");
jCheckBox3 = new JCheckBox("网球");
jRadioButton1 = new JRadioButton("男生");
jRadioButton2 = new JRadioButton("女生");
jButton1 = new JButton("创建用户");
jButton2 = new JButton("注销用户");
jFrame.setLayout(new GridLayout(3, 1));!!!!!!!!
jFrame.add(jPanel1);
jFrame.add(jPanel2);
jFrame.add(jPanel3);
jPanel1.add(jLabel1);
jPanel2.add(jLabel2);
jPanel1.add(jCheckBox1);
jPanel1.add(jCheckBox2);
jPanel1.add(jCheckBox3);
jPanel2.add(jRadioButton1);
jPanel2.add(jRadioButton2);
jPanel3.add(jButton1);
jPanel3.add(jButton2);
ButtonGroup aButtons = new ButtonGroup();
aButtons.add(jRadioButton1);
aButtons.add(jRadioButton2);
this.setSize(300, 150);
jFrame.setBounds(100, 200, 300, 150);
jFrame.setBackground(Color.green);
JFrame.setDefaultLookAndFeelDecorated(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setVisible(true);
} public static void main(String[] args) {
xuanZeKuang xuanZeKuang = new xuanZeKuang();
}为什么在我标感情号的那一行,用this替换jFrame会报错?怎么修改?而在接下来的梯子里面没有错误?
import java.awt.FlowLayout;
import java.awt.GridLayout;import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;public class dengLuKuang extends JFrame {
JFrame frame;
JPanel panel1, panel2, panel3;
JLabel jlable1, jlable2, jlable3;
JTextField jTextField;
JPasswordField jPasswordField;
JCheckBox jCheckBox1, jCheckBox2;
JButton jbutton1, jbutton2, jbutton3; public dengLuKuang() {
frame = new JFrame();
jlable1 = new JLabel("QQ2011");
jlable1 = new JLabel("用户名:");
jlable1 = new JLabel("密 码:");
panel1 = new JPanel();
panel2 = new JPanel();
panel3 = new JPanel();
jTextField = new JTextField("请输入文字!");
jPasswordField = new JPasswordField("请输入密码!");
jCheckBox1 = new JCheckBox("输入内容");
jCheckBox2 = new JCheckBox("输入内容");
jbutton1 = new JButton("账号");
jbutton2 = new JButton("设置");
jbutton3 = new JButton("登录");
setAlwaysOnTop(isAlwaysOnTop());
setLayout(new GridLayout(3, 1));
this.add(panel1, BorderLayout.NORTH);
panel1.setBounds(200, 200, 200, 200);
panel1.add(jbutton1);
panel1.add(jlable1, FlowLayout.LEFT);
this.add(panel2, BorderLayout.CENTER);!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
this.add(panel3, BorderLayout.SOUTH);
panel2.add(jlable2, FlowLayout.LEFT);
panel2.add(jTextField, FlowLayout.RIGHT);
panel2.add(jlable3, FlowLayout.LEFT);
panel2.add(jPasswordField, FlowLayout.RIGHT);
panel3.add(jbutton1, FlowLayout.LEFT);
panel3.add(jbutton2, FlowLayout.CENTER);
panel3.add(jbutton3, FlowLayout.RIGHT);
this.setSize(100, 100);
this.setLocation(200, 200);
this.setBounds(100, 100, 200, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
} public static void main(String[] args) {
dengLuKuang mc = new dengLuKuang(); }}
为什么在我的这段代码里面会报错?
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1041)
at java.awt.Container.add(Container.java:408)
at project.dengLuKuang.<init>(dengLuKuang.java:47)
at project.dengLuKuang.main(dengLuKuang.java:62)而在我标感情号的地方此处用this代替了jFrame就是可以的?而在上一段代码中是会报错的呢?
一个版面布局形式不能同时设置成多种,上面你把版面设置成了三种形式,肯定不行,要么设置成FlowLayout
要么是BorderLayout要么是GridLayout
import java.awt.*;
import javax.swing.*;public class B extends JFrame{
private JTextField jt1;
private JLabel jl1,jl2,jl3;
private JPasswordField mima;
private JButton jb1,jb2;
private JPanel jp1=new JPanel();
private JPanel jp2=new JPanel();
private JPanel jp3=new JPanel();
private BorderLayout bb=new BorderLayout();
public B(){
super("qq2010");
this.setLayout(bb);
jl1=new JLabel("用户名:");
jl2=new JLabel("密码:");
mima=new JPasswordField (10);
jt1=new JTextField(10);
jb1=new JButton("注册");
jb2=new JButton("登陆");
jp1.add(jl1);
jp1.add(jt1);
jp1.add(jl2);
jp1.add(mima);
jp2.add(jb1);
jp2.add(jb2);
jl3=new JLabel("img");
add(jl3,BorderLayout.NORTH);
add(jp1,BorderLayout.CENTER);
add(jp2,BorderLayout.SOUTH);
this.setSize(200,200);
this.setVisible(true);
}
public static void main(String[] args){
B b=new B();
b.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
简单的写写
Exception in thread "main" java.lang.NullPointerException
at hanshunpingstudy.qqFace.<init>(qqFace.java:52)
at hanshunpingstudy.qqFace.main(qqFace.java:61)
之内的错误呢?
尤其是那一个NULLpointerExceoption的错误?
super("qq2010");
this.setLayout(bb);
这两句话是什么意思呢?
其他的问题嘛,多打打代码慢慢就会明白的,我也是初学者,加油