Java界面设计之页面管理器

发表于:2013-4-08 09:54

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Orson    来源:51Testing软件测试网采编

  这是第一次写博客,是有关JAVA页面设计当中的布局管理器,可能大多数人会选择使用 NetBeans 或者是Eclipse 的组件来实现可视化拖拽组件来达到自己页面设计布局,因为是第一次做界面,总结一下,以供以后复习能用到。

  JAVA中Layout Mananager这次界面中主要用到的有BorderLayout、FlowLayout、GridLayout、GridLayBagout

  1、BorderLayout是JFrame中的默认布局方式,如果你没有在容器类明确的定义布局方式,它将是默认的布局方式,当你想在容器中添加组件的时候,默认添加到中央的位置,所以第二个组件会遮住第一个组件,下面是BorderLayout 一个小小的例子;

import javax.swing.*;
import java.awt.*;
public class BorderLayout1 {       
  public BorderLayout1(){
       JFrame frame=new JFrame();
        frame.add(BorderLayout.NORTH,new JButton("North"));
        frame.add(BorderLayout.SOUTH,new JButton("South"));
        frame.add(BorderLayout.WEST,new JButton("West"));
        frame.add(BorderLayout.EAST,new JButton("East"));
        frame.add(BorderLayout.CENTER,new JButton("Center"));
        frame.setVisible(true);
        frame.setSize(400,200);
    } 
  public static void main(String[] args) {
         new BorderLayout1();
  }
}

  总结:在整体的界面当中没有很规范能够使用这种布局方式,需要和其他的布局方式进行搭配才能够达到自己想要的界面布局效果。

  2、FlowLayout 设置流布局以后你所要添加的组件就会按照顺序排列在容器里面,能保证没有组件会被阻挡起来,当时当你拉动界面的时候会很不满意,组将也同样会想水一样流动起来,如果有使用流布局的容器能够固定大小是最好不过的了,例子如下:

import javax.swing.*;
import java.awt.*;

public class FlowLayout1{
  public FlowLayout1() {
       JFrame frame=new JFrame();
       frame.setLayout(new FlowLayout());
       for(int i = 1; i <=5; i++)
       frame.add(new JButton("Button " + i));
       frame.setVisible(true);
       frame.setSize(500,100);
  }
  public static void main(String[] args) {
       new FlowLayout1();
  }
}

  3、GridLayout 表格布局能将你的组将整齐的摆放在容器当中,当组件的数量超出表格的数量的时候,表格会自动添加来满足组件的数量要求,同BorderLayout 相同,完整的界面一般不会是整齐的表格样式,所以这种布局方式和其他的搭配起来才能够真正的达到你想要的界面效果,下面是个小例子:

import javax.swing.*;
import java.awt.*;

public class GridLayout1 {
  public GridLayout1() {
     JFrame frame=new JFrame();
    frame.setLayout(new GridLayout(3,2));   //3行2列的表格布局
      for(int i = 0; i < 7; i++)
      frame.add(new JButton("Button " + i));  
      frame.setVisible(true);
      frame.setSize(500,300);
  }
  public static void main(String[] args) {
       new GridLayout1();
  }
}

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号