java学习之 论GUI中JPanel的布局设置问题

来源:互联网 发布:sql 当前时间减1小时 编辑:程序博客网 时间:2024/04/29 11:47

     有几次碰到JPanel的布局问题,在网上找了一些资料,想记录一下以免以后又碰到再到处找资料。

     因为JPanel中的默认布局是FlowLayout,所以要想改变JPanel中的布局,就要在创建JPanel实例时更改他的布局设置,这一步是必要的,如果没有new一个新的布局而直接使用设置另外的布局,那么编译的结果还是默认的布局,而不是你设置的布局。

     用例子说明下:

package PanelTest;/** * 测试JPanel的布局问题 * 对两个组件JLabel和JButton进行布局 *  */import java.awt.*;import javax.swing.*;public class PanelLayoutTest {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub//try{frameTest f = new frameTest();f.setTitle("PanelLayoutTest");f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);f.setVisible(true);//}//catch(Exception e){//System.out.println(e);//}}}// JFrame classclass frameTest extends JFrame {frameTest() {panelTest p = new panelTest();this.add(p);this.pack();}}// Panel classclass panelTest extends JPanel {private JLabel label;private JButton button;panelTest() {this.setLayout(new BorderLayout()); // 将panel的默认布局flow设置为设置边界布局,括号中是必须的         label=new JLabel();label.setText("Test");this.add(label, BorderLayout.SOUTH);//设置按钮的布局位置button=new JButton("Test");this.add(button, BorderLayout.NORTH);//设置label的布局位置}} 
 

 

原创粉丝点击