日期:2014-05-20  浏览次数:20735 次

JAVA求解,我这个Label运行后不显示

import javax.swing.*;

public class zhujiemian {

JFrame JF =new JFrame();
JPanel JP = new JPanel();
public void zong(){

JF.setVisible(true);
JF.add(JP);
JF.setTitle("QQ登录程序");
JF.setSize(500,300);
JF.setLocation(200,300);



}


public void denglu(){



JP.setLayout(null);
JButton JB1 = new JButton("登录");
JButton JB2 = new JButton("退出");
JB1.setBounds(100,150,90,28);
JB2.setBounds(300,150,90,28);
JP.add(JB1);
JP.add(JB2);


    }   
     




   /*public void Label(){

JLabel JL1 = new JLabel("QQ号码");
JLabel JL2 = new JLabel("密码");
JTextField JT1 = new JTextField(10);
JTextField JT2 = new JTextField(10);
JP.add(JL1);
JP.add(JL2);
JP.add(JT1);
JP.add(JT2);
}*/


public static void main(String args[]){


zhujiemian z = new zhujiemian();

z.zong();
z.denglu();
/*z.Label();*/

}
}

------解决方案--------------------

import javax.swing.*;

public class zhujiemian {

JFrame JF = new JFrame();
JPanel JP = new JPanel();

public void zong() {

JF.setVisible(true);
JF.add(JP);
JF.setTitle("QQ登录程序");
JF.setSize(500, 300);
JF.setLocation(200, 300);

}

public void denglu() {

JButton JB1 = new JButton("登录");
JButton JB2 = new JButton("退出");
JB1.setBounds(100, 150, 90, 28);
JB2.setBounds(300, 150, 90, 28);
JP.add(JB1);
JP.add(JB2);

}

public void Label(){
JLabel JL1 = new JLabel("QQ号码");
JTextField JT1 = new JTextField(10);
JLabel JL2 = new JLabel("密码");
JTextField JT2 = new JTextField(10);
JP.add(JL1);
JP.add(JT1);
JP.add(JL2);
JP.add(JT2);
}

public static void main(String args[]) {

zhujiemian z = new zhujiemian();

z.Label();
z.denglu();
z.zong();

}
}


------解决方案--------------------
你将JFrame的layout定义为了null,那么在添加组件的时候就需要指定坐标和大小。你的代码中没有为JLabel指定坐标和大小所以显示不出来。如果要显示,需要像代码中的JB2.setBounds(300,150,90,28);这样