当前位置: 代码迷 >> Java相关 >> 在panel用BorderLayout为什么不行啊?
  详细解决方案

在panel用BorderLayout为什么不行啊?

热度:292   发布时间:2006-03-10 22:22:00.0
在panel用BorderLayout为什么不行啊?
import javax.swing.*;
import java.awt.*;
class FrameTest extends JFrame
{ public FrameTest()
{ super("图形界面!");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setSize(500,500);
}
}
class PanelTest extends FrameTest
{ JPanel pn;
public PanelTest()
{ pn=new JPanel();
getContentPane().add(pn);
}
}
class zujianTest extends PanelTest
{ JTextField tf;
JButton bt;
public zujianTest()
{ // tf=new JTextField("文本框",10);
// pn.add(tf);
bt=new JButton("jfjffff");
pn.add(bt);
}
}
class LayoutTest extends zujianTest
{ BorderLayout bdout;
public LayoutTest()
{ bdout =new BorderLayout(2,2); /////这里用其他布局可以!
pn.setLayout(bdout);
}
}
public class bordertest extends LayoutTest
{ public static void main(String args[])
{ new bordertest();
}
}


为什么执行后看不到组件??各位,侃侃嘛!
搜索更多相关的解决方案: panel  BorderLayout  

----------------解决方案--------------------------------------------------------
你这哪里是写程序啊,你是没事找事啊
----------------解决方案--------------------------------------------------------

你不晓得不要乱说


----------------解决方案--------------------------------------------------------
就没人说两句有用的
----------------解决方案--------------------------------------------------------
是为了玩继承么?
在PanelTest类里面使用这个布局也是不会错的,可能就是顺序先后的问题吧
----------------解决方案--------------------------------------------------------
楼上说的对,是你的顺序问题,我在你的基础上,简单的改了一下,可以显示:

import javax.swing.*;
import java.awt.*;
class FrameTest extends JFrame
{ public FrameTest()
{ super("图形界面!");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//setVisible(true);
//setSize(500,500);
}
}
class PanelTest extends FrameTest
{ JPanel pn;
public PanelTest()
{ pn=new JPanel();
//getContentPane().add(pn);
}
}
class zujianTest extends PanelTest
{ JTextField tf;
JButton bt;
public zujianTest()
{ // tf=new JTextField("文本框",10);
// pn.add(tf);
bt=new JButton("jfjffff");

//pn.add(bt);
}
}
class LayoutTest extends zujianTest
{ BorderLayout bdout;
public LayoutTest()
{ bdout =new BorderLayout(2,2); /////这里用其他布局可以!
pn.setLayout(bdout);
pn.add(bt);
this.getContentPane().add(pn);
}
}
public class bordertest extends LayoutTest
{ public static void main(String args[])
{
bordertest bt = new bordertest();
bt.setSize(500,400);
bt.show();
}
}
----------------解决方案--------------------------------------------------------
谢谢哈!现在晓得最好在添加组件之前,先把布局弄好.
----------------解决方案--------------------------------------------------------