中琅软件教程网

首页搜索登录
首页业界网页平面多媒体程序数据库办公工具服务器系统网络安全站长认证壁纸
加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索

java中控件的排布示例

[日期:2013-12-02] 作者: 来源: [字体: ]

5.2控件的排布示例

5.2.1源程序

5.2.1.1 BorderLayoutDemo.Java

import java.awt.*;

import javax.swing.*;

 

public class BorderLayoutDemo extends JFrame {

 

    public BorderLayoutDemo() { // 构造函数

      Container container = getContentPane(); // 得到容器

      container.setLayout(new BorderLayout()); // 设置布局管理器为Borderlayout

      container.add(new JButton("North"), BorderLayout.NORTH); // 增加按钮

      container.add(new JButton("South"), BorderLayout.SOUTH);

      container.add(new JButton("East"), BorderLayout.EAST);

      container.add(new JButton("West"), BorderLayout.WEST);

      container.add(new JButton("Center"), BorderLayout.CENTER);

      setTitle("BorderLayout 演示"); // 设置窗口标题

      setSize(280, 200); // 设置主窗口尺寸

      setVisible(true); // 设置主窗口可视

      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口时退出程序

    }

 

    public static void main(String args[]) {

      new BorderLayoutDemo();

    }

}

5.2.1.2 GridBagLayoutDemo.java

import java.awt.*;

import javax.swing.*;

 

public class GridBagLayoutDemo extends JFrame {

 

    public GridBagLayoutDemo() { // 构造函数

      Container contentPane = getContentPane(); // 得到容器

      contentPane.setLayout(new GridBagLayout()); // 设置布局管理器

      JLabel labelName = new JLabel("姓名"); // 姓名标签

      JLabel labelSex = new JLabel("性别"); // 性别标签

      JLabel labelAddress = new JLabel("住址"); // 住址标签

      JTextField textFieldName = new JTextField(); // 性名文本域

      JTextField textFieldAddress = new JTextField(); // 地址文本域

      JComboBox comboBoxSex = new JComboBox(); // 性别组合框

      comboBoxSex.addItem("男"); // 增加选择项

      comboBoxSex.addItem("女");

      JButton buttonConfirm = new JButton("确定"); // 确定按钮

      JButton buttonCancel = new JButton("退出"); // 退出按钮

      // 增加各个组件

      contentPane.add(labelName, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0,

              GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,

              new Insets(0, 5, 0, 0), 0, 0));

      contentPane.add(textFieldName, new GridBagConstraints(1, 0, 1, 1, 1.0,

              0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL,

              new Insets(5, 5, 0, 5), 0, 0));

      contentPane.add(comboBoxSex, new GridBagConstraints(3, 0, 1, 1, 1.0,

              0.0, GridBagConstraints.NORTHWEST,

              GridBagConstraints.HORIZONTAL, new Insets(5, 5, 0, 5), 0, 0));

      contentPane.add(labelSex, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0,

              GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,

              new Insets(5, 5, 0, 0), 0, 0));

      contentPane.add(buttonConfirm, new GridBagConstraints(1, 2, 1, 1, 0.0,

              0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE,

              new Insets(5, 0, 3, 0), 0, 0));

      contentPane.add(buttonCancel, new GridBagConstraints(3, 2, 1, 1, 0.0,

              0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE,

              new Insets(5, 0, 3, 0), 0, 0));

      contentPane.add(labelAddress, new GridBagConstraints(0, 1, 1, 1, 0.0,

              0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,

              new Insets(0, 5, 0, 0), 0, 0));

      contentPane.add(textFieldAddress, new GridBagConstraints(1, 1, 3, 1,

              0.0, 0.0, GridBagConstraints.NORTHWEST,

              GridBagConstraints.HORIZONTAL, new Insets(5, 5, 0, 5), 0, 0));

      setTitle("GridBagLayout 演示"); // 设置窗口标题

      setSize(300, 140); // 设置窗口尺寸

      setVisible(true); // 设置窗口可见

      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口时退出程序

    }

 

    public static void main(String args[]) {

      new GridBagLayoutDemo();

    }

}

5.2.1.3    源程序运行结果:

 

 

5.2.2源程序揭秘

5.2.2.1 源程序介绍

    该程序主要介绍怎样排布自己的窗口,分别展示了BorderLayout和GridBagLayout这两种布局管理器。BorderLayout分为North、East、South、West、Center这四种基本的布局方式,GridBagLayout是一种可以水平或垂直的布局方式。

5.2.2.2 源程序变量解析:

    container:得到容器。

    labelName:姓名标签。

    labelAddress:住址标签。

    textFieldName:姓名文本域。

    textFieldAddress:地址文本域。

    comboBoxSex:性别组合框。

5.2.2.3 源程序函数解析:

GridBagLayoutDemo():得到容器,设置布局管理器,创建窗口,设计布局。

BorderLayoutDemo(): 得到容器,设置布局管理器,创建窗口,设计布局。

5.2.2.4 程序段解析:

contentPane.setLayout(new GridBagLayout());

这段代码的作用是设置布局管理器为GridBagLayout.

setTitle(“BorderLayout演示”);

这段代码的使用是设置窗口的标题。

contentPane.add(labelName, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 5, 0, 0), 0, 0));

    这段代码的参数有点多,读者可以在API中查找GridBagConstraints,可以找到详细的参数说明。

关键词:控件  排版  排布 

收藏 推荐 打印 | 录入:blue1000 | 阅读:
最新图文
本文评论   查看全部评论 (1)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* 匿名 发表于 2016/12/24 19:40:06
http://www.blue1000.com/bkhtml/c149/2013-11/71396.htm 关于快乐六一的作文 http://www.135995.com/details/zs2777.html 好书推荐的作文150字 http://www.135995.com/details/zs2778.html