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布局样式的应用,不拘泥于JDK文档教条方式的陈述,图形效果图与文字相结合,讲解直观而浅显易懂,另外,示例代码中还包含了BorderLayout、FlowLayout等布局的应用...
根据html的table标签作为配置文件,进行swing GridBagLayout方式的布局管理。简化swing复杂界面布局不方便,容器定位的问题。 具体思想是将tabel td等标签相关元素和属性映射成GridBagConstraints的属性值,将布局...
Java-Swing-Samples 一些基本的挥杆示例。 简单的菜单栏动作按钮弹出菜单复选框多重版面网格布局GridBagLayout 添加和删除笑脸聊天申请益智游戏您可以在输出文件夹中找到示例输出。
主要介绍了Java Swing GridBagLayout网格袋布局的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Java Swing GridBagLayout,很详细的Demo,对GridBagLayout如何使用做全面的讲解
java swing布局管理器实例之gridbaglayout,实现左右选择框
深入浅出介绍Java Swing编程中的GridBagLayout布局。
如组织成分成一排,我可以用的FlowLayout,而是将其整理成一列- GridBagLayout中woth一些限制。 一遍又一遍,我谨代表我,我很高兴能有一个美好的生活。 类似于布局策略,例如,将一个组件中的组件组织起来的布局...
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: ...
图形化轻量级框架开发,当选择使用JPanel和顶层容器的content pane时,需要考虑布局管理。...下面将分别介绍几种最常用的布局管理器:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout和GridBagLayout。
import Java.awt.*;...import javax.Swing.*; public class Calculator extends JFrame { private Container container; private GridBagLayout layout; private GridBagConstraints constraints;
本程序包含borderlayout、flowlayout、gridbaglayout三种布局 使用ActionListener, ItemListener 2个监听 包含将结果写入文件 为了方便测试,将所有内容都写到了一个类里面,大部分方法是独立的,这个大家可以看着...
JFormDesigner是一种先进的图形用户界面Swing 的设计工具(非开源)。具有一个独立的开发工具产品和基于不同开发工具如Eclipse、NetBeans等的开发插件。人们很容易和直观的使用,并提供了许多强大的功能。 ...
JFormDesigner是一种先进的图形用户界面Swing 的设计工具(非开源)。 具有一个独立的开发工具产品和基于不同开发工具如Eclipse、NetBeans等的开发插件。 人们很容易和直观的使用,并提供了许多强大的功能。 ...
表格布局动机相当古老的一段 Java 代码:我在 2002 年编写了TableLayout布局管理器,因为大多数时候我发现GridLayout和GridBagLayout太复杂了。 当时我将 LaTeX 用于所有文档内容,因此采用 LaTeX 的表定义语法对我...
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....
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...
GUI在这里不是很丰富,但是我想它在这个项目的几乎所有地方都已经使用GridBagLayout了,所以我没有选择一条简单的路! ;)。 这是我的最后一个GUI项目,我尝试了Java FX,但是当我了解Swing时,由于我想成为Web开发...
import javax.swing.*; public class Calculator extends JFrame { private Container container; private GridBagLayout layout; private GridBagConstraints constraints; private JTextField displayField...
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 用...