[求助]一个有关显示的问题
import java.awt.*;import javax.swing.*;
public class Cdjs extends JFrame
{
JLabel lb1=new JLabel("上学期");
JLabel lb2=new JLabel("物理");
JLabel lb3=new JLabel("英语");
JLabel lb4=new JLabel("马哲");
JLabel lb5=new JLabel("平面设计");
JLabel lb6=new JLabel("阴影透视");
JLabel lb7=new JLabel("记组");
JLabel lb8=new JLabel("记组实验");
JLabel lb9=new JLabel("数图处理");
JLabel lb10=new JLabel("数图处理实验");
JTextField tf1=new JTextField(10);
JLabel lb11=new JLabel("下学期");
JLabel lb12=new JLabel("英语");
JLabel lb13=new JLabel("CG");
JLabel lb14=new JLabel("思修");
JLabel lb15=new JLabel("素描");
JLabel lb16=new JLabel("数媒技术");
JLabel lb17=new JLabel("SolidWorks");
JPanel pl=new JPanel();
public Cdjs()
{
super("简单积点计算器");
Container c=getContentPane();
c.setLayout(null);
c.add(lb1);
c.add(lb2);
c.add(tf1);
lb1.setLocation(50,50);
setLocation(200,100);
setVisible(true);
setSize(640,480);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[])
{
new Cdjs();
}
}
这个程序为什么标签不能显示出来,显示的整个面板是什么都没有的
----------------解决方案--------------------------------------------------------
我原来也是用这种方法的,但是现在不知为什么不能显示出来!望指点
----------------解决方案--------------------------------------------------------
很简单,因为JFrame下的ContentPane只能是Boarder布局,如果你想支持其他布局,必须先添加到一个JPanel,然后把这个JPanel放到setContentPane中来就可以了
----------------解决方案--------------------------------------------------------
非也,布局是可以设的,楼主的代码之所以不能显示,是因为先添加后设位置,这是错的
应该先设好位置,再添加
----------------解决方案--------------------------------------------------------
回复楼上的
先设置位置再添加还是不行啊!
----------------解决方案--------------------------------------------------------
可以了,谢谢千里的提醒
----------------解决方案--------------------------------------------------------
setLocation(200,100);
setVisible(true);
setSize(640,480);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
我们把这段程序改为:
setSize(640,480);
setLocation(200,100);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
把setSize的位置调整一下就行了
----------------解决方案--------------------------------------------------------