`
zlemo1984
  • 浏览: 21440 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

swing-GridBagLayout

阅读更多
public class DialogDemo implements ActionListener {
	JFrame f = null;

	public void actionPerformed(ActionEvent e) {
		String cmd = e.getActionCommand();
		if (cmd.equals("借用物品")) {
			new LendingSystem(f);
		} else if (cmd.equals("离开系统")) {
			System.exit(0);
		}
	}

	public DialogDemo() {
		f = new JFrame("JDialog Example");
		Container contentPane = f.getContentPane();
		JPanel buttonPanel = new JPanel();
		JButton b = new JButton("借用物品");
		b.addActionListener(this);
		buttonPanel.add(b);
		b = new JButton("离开系统");
		b.addActionListener(this);
		buttonPanel.add(b);

		buttonPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory
				.createLineBorder(Color.blue, 2), "借用物品系统",
				TitledBorder.CENTER, TitledBorder.TOP));
		contentPane.add(buttonPanel, BorderLayout.CENTER);
		f.pack();
		f.setVisible(true);
		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
	}

	public static void main(String[] args) {
		SwingUtil.setLookAndFeel();
		new DialogDemo();
	}
}

class LendingSystem implements ActionListener {
	JTextField staffField, objectField, borrowDateField, returnDateField,
			reasonField;

	JDialog dialog;

	public void actionPerformed(ActionEvent e) {
		String cmd = e.getActionCommand();
		if (cmd.equals("确定")) {

		} else if (cmd.equals("取消")) {
			dialog.dispose();
		}
	}

	LendingSystem(JFrame f) {
		dialog = new JDialog(f, "借用物品", true);
		GridBagConstraints c;
		int gridx, gridy, gridwidth, gridheight, anchor, fill, ipadx, ipady;
		double weightx, weighty;
		Insets inset;

		GridBagLayout gridbag = new GridBagLayout();
		Container dialogPane = dialog.getContentPane();
		dialogPane.setLayout(gridbag);

		JLabel label = new JLabel("员工编号 : ");
		gridx = 0; // 第0列
		gridy = 0; // 第0行
		gridwidth = 1; // 占一单位宽度
		gridheight = 1; // 占一单位高度
		weightx = 0; // 窗口增大时组件宽度增大比率0
		weighty = 0; // 窗口增大时组件高度增大比率0
		anchor = GridBagConstraints.CENTER; // 容器大于组件size时将组件置于容器中央
		fill = GridBagConstraints.BOTH; // 窗口拉大时会填满水平与垂直空间
		inset = new Insets(0, 0, 0, 0); // 组件间间距
		ipadx = 0; // 组件内水平宽度
		ipady = 0; // 组件内垂直高度
		c = new GridBagConstraints(gridx, gridy, gridwidth, gridheight,
				weightx, weighty, anchor, fill, inset, ipadx, ipady);
		gridbag.setConstraints(label, c);
		dialogPane.add(label);

		label = new JLabel("借用器具 : ");
		gridx = 3;
		gridy = 0;
		c = new GridBagConstraints(gridx, gridy, gridwidth, gridheight,
				weightx, weighty, anchor, fill, inset, ipadx, ipady);
		gridbag.setConstraints(label, c);
		dialogPane.add(label);

		label = new JLabel("借用日期: ");
		gridx = 0;
		gridy = 1;
		c = new GridBagConstraints(gridx, gridy, gridwidth, gridheight,
				weightx, weighty, anchor, fill, inset, ipadx, ipady);
		gridbag.setConstraints(label, c);
		dialogPane.add(label);

		label = new JLabel("归还日期: ");
		gridx = 3;
		gridy = 1;
		c = new GridBagConstraints(gridx, gridy, gridwidth, gridheight,
				weightx, weighty, anchor, fill, inset, ipadx, ipady);
		gridbag.setConstraints(label, c);
		dialogPane.add(label);

		label = new JLabel("借用原因 : ");
		gridx = 0;
		gridy = 2;
		c = new GridBagConstraints(gridx, gridy, gridwidth, gridheight,
				weightx, weighty, anchor, fill, inset, ipadx, ipady);
		gridbag.setConstraints(label, c);
		dialogPane.add(label);

		staffField = new JTextField();
		gridx = 1;
		gridy = 0;
		gridwidth = 2;
		gridheight = 1;
		weightx = 1;
		weighty = 0;
		c = new GridBagConstraints(gridx, gridy, gridwidth, gridheight,
				weightx, weighty, anchor, fill, inset, ipadx, ipady);
		gridbag.setConstraints(staffField, c);
		dialogPane.add(staffField);

		objectField = new JTextField();
		gridx = 4;
		gridy = 0;
		c = new GridBagConstraints(gridx, gridy, gridwidth, gridheight,
				weightx, weighty, anchor, fill, inset, ipadx, ipady);
		gridbag.setConstraints(objectField, c);
		dialogPane.add(objectField);

		borrowDateField = new JTextField();
		gridx = 1;
		gridy = 1;
		c = new GridBagConstraints(gridx, gridy, gridwidth, gridheight,
				weightx, weighty, anchor, fill, inset, ipadx, ipady);
		gridbag.setConstraints(borrowDateField, c);
		dialogPane.add(borrowDateField);

		returnDateField = new JTextField();
		gridx = 4;
		gridy = 1;
		c = new GridBagConstraints(gridx, gridy, gridwidth, gridheight,
				weightx, weighty, anchor, fill, inset, ipadx, ipady);
		gridbag.setConstraints(returnDateField, c);
		dialogPane.add(returnDateField);

		reasonField = new JTextField();
		gridx = 1;
		gridy = 2;
		gridwidth = 5;
		c = new GridBagConstraints(gridx, gridy, gridwidth, gridheight,
				weightx, weighty, anchor, fill, inset, ipadx, ipady);
		gridbag.setConstraints(reasonField, c);
		dialogPane.add(reasonField);

		JPanel panel = new JPanel();
		panel.setLayout(new GridLayout(1, 2));
		JButton b = new JButton("确定");
		panel.add(b);
		b = new JButton("取消");
		b.addActionListener(this);
		panel.add(b);

		gridx = 0;
		gridy = 3;
		gridwidth = 6;
		weightx = 1;
		weighty = 1;
		c = new GridBagConstraints(gridx, gridy, gridwidth, gridheight,
				weightx, weighty, anchor, fill, inset, ipadx, ipady);
		gridbag.setConstraints(panel, c);
		dialogPane.add(panel);

		dialog.setBounds(200, 150, 400, 130);
		dialog.setVisible(true);
	}
}
分享到:
评论

相关推荐

    Swing的GridBagLayout布局应用详解(附Java源代码)

    本文通过代码示例的方式介绍了Swing的GridBagLayout布局样式的应用,不拘泥于JDK文档教条方式的陈述,图形效果图与文字相结合,讲解直观而浅显易懂,另外,示例代码中还包含了BorderLayout、FlowLayout等布局的应用...

    html的table标签作配置,进行swing的GridBagLayout布局

    根据html的table标签作为配置文件,进行swing GridBagLayout方式的布局管理。简化swing复杂界面布局不方便,容器定位的问题。 具体思想是将tabel td等标签相关元素和属性映射成GridBagConstraints的属性值,将布局...

    Java-Swing-Samples:一些基本的挥杆例子

    Java-Swing-Samples 一些基本的挥杆示例。 简单的菜单栏动作按钮弹出菜单复选框多重版面网格布局GridBagLayout 添加和删​​除笑脸聊天申请益智游戏您可以在输出文件夹中找到示例输出。

    Java Swing GridBagLayout网格袋布局的实现

    主要介绍了Java Swing GridBagLayout网格袋布局的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    GridBagLayout布局器的使用

    Java Swing GridBagLayout,很详细的Demo,对GridBagLayout如何使用做全面的讲解

    java swing布局管理器实例之gridbaglayout,实现左右选择框.doc

    java swing布局管理器实例之gridbaglayout,实现左右选择框

    GridBagLayout布局详解

    深入浅出介绍Java Swing编程中的GridBagLayout布局。

    cop.swing.layout-organizer:Java swing布局管理器

    如组织成分成一排,我可以用的FlowLayout,而是将其整理成一列- GridBagLayout中woth一些限制。 一遍又一遍,我谨代表我,我很高兴能有一个美好的生活。 类似于布局策略,例如,将一个组件中的组件组织起来的布局...

    SWING图形界面开发手册.pdf

    1.3: GridBagLayout1.3: GridBagLayout1.3: GridBagLayout1.3: GridBagLayout1.3: GridBagLayout 1.3: GridBagLayout 1.3: GridBagLayout1.3: GridBagLayout 1.3: GridBagLayout1.3: GridBagLayout 1.3: ...

    Java_swing布局详解(附示例图).doc

    图形化轻量级框架开发,当选择使用JPanel和顶层容器的content pane时,需要考虑布局管理。...下面将分别介绍几种最常用的布局管理器:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout和GridBagLayout。

    java 计算器程序升级,方便大家使用下载,谢谢

    import Java.awt.*;...import javax.Swing.*; public class Calculator extends JFrame { private Container container; private GridBagLayout layout; private GridBagConstraints constraints;

    javaswing示例

    本程序包含borderlayout、flowlayout、gridbaglayout三种布局 使用ActionListener, ItemListener 2个监听 包含将结果写入文件 为了方便测试,将所有内容都写到了一个类里面,大部分方法是独立的,这个大家可以看着...

    JFormDesigner 最新版本

    JFormDesigner是一种先进的图形用户界面Swing 的设计工具(非开源)。具有一个独立的开发工具产品和基于不同开发工具如Eclipse、NetBeans等的开发插件。人们很容易和直观的使用,并提供了许多强大的功能。 ...

    JFormDesigner Eclipse、NetBeans等的开发插件

    JFormDesigner是一种先进的图形用户界面Swing 的设计工具(非开源)。 具有一个独立的开发工具产品和基于不同开发工具如Eclipse、NetBeans等的开发插件。 人们很容易和直观的使用,并提供了许多强大的功能。 ...

    TableLayout:一个易于使用的 Java Swing 布局管理器,以类似表格的方式排列元素

    表格布局动机相当古老的一段 Java 代码:我在 2002 年编写了TableLayout布局管理器,因为大多数时候我发现GridLayout和GridBagLayout太复杂了。 当时我将 LaTeX 用于所有文档内容,因此采用 LaTeX 的表定义语法对我...

    Javaweb仓库管理系统项目源码+数据库.zip

    import java.awt.GridBagLayout; import java.awt.Image; import java.awt.RenderingHints; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt....

    计算器界面java设计

    import javax.swing.*; public class jisuanqi { public static void main(String args[]) { JFrame app=new JFrame("计算器"); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p=new JPanel...

    SwingProject:Swing项目专用于想要控制杂志的公司(天真应用)

    GUI在这里不是很丰富,但是我想它在这个项目的几乎所有地方都已经使用GridBagLayout了,所以我没有选择一条简单的路! ;)。 这是我的最后一个GUI项目,我尝试了Java FX,但是当我了解Swing时,由于我想成为Web开发...

    java Calculator 计算器

    import javax.swing.*; public class Calculator extends JFrame { private Container container; private GridBagLayout layout; private GridBagConstraints constraints; private JTextField displayField...

    Thinking in Java(中文版 由yyc,spirit整理).chm

    13.12.5 GridBagLayout 13.13 action的替用品 13.14 程序片的局限 13.14.1 程序片的优点 13.15 视窗化应用 13.15.1 菜单 13.15.2 对话框 13.16 新型AWT 13.16.1 新的事件模型 13.16.2 事件和接收者类型 13.16.3 用...

Global site tag (gtag.js) - Google Analytics