Java_GUI_布局_箱式布局
2006-02-13 14:13
330 查看
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class BoxLayoutTest
{
public static void main(String[] args)
{
BoxLayoutFrame frame = new BoxLayoutFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class BoxLayoutFrame extends JFrame
{
public BoxLayoutFrame()
{
setTitle("箱式布局");
setSize(300,200);
Container con = getContentPane();
BoxLayoutPanel panel = new BoxLayoutPanel();
con.add(panel);
}
}
class BoxLayoutPanel extends JPanel
{
public JLabel lname,lpsd;
public JTextField fname;
public JPasswordField fpsd;
public JButton ok,cancel;
public BoxLayoutPanel()
{
BorderLayout layout = new BorderLayout();
setLayout(layout);
lname = new JLabel("用户名");
lpsd = new JLabel("密 码");
fname = new JTextField(10);
fname.setMaximumSize(fname.getPreferredSize());//最大尺寸等于完美尺寸
fpsd = new JPasswordField(10);
fpsd.setMaximumSize(fname.getPreferredSize());
ok = new JButton("确定");
cancel = new JButton("重置");
Box hbox1 = Box.createHorizontalBox();//水平
Box hbox2 = Box.createHorizontalBox();
Box hbox3 = Box.createHorizontalBox();
hbox1.add(lname);
hbox1.add(Box.createHorizontalStrut(50));//支撑柱
hbox1.add(fname);
hbox2.add(lpsd);
hbox2.add(Box.createRigidArea(new Dimension(50,20)));//固定区 20是箱子的大小
hbox2.add(fpsd);
hbox3.add(Box.createHorizontalStrut(48));
hbox3.add(ok);
hbox3.add(Box.createHorizontalGlue());//弹簧
hbox3.add(cancel);
hbox3.add(Box.createHorizontalStrut(48));
Box vbox = Box.createVerticalBox();//垂直
vbox.add(hbox1);
vbox.add(hbox2);
vbox.add(Box.createVerticalStrut(10));
vbox.add(hbox3);
add(vbox);
}
}
import java.awt.Container;
import java.awt.Dimension;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class BoxLayoutTest
{
public static void main(String[] args)
{
BoxLayoutFrame frame = new BoxLayoutFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class BoxLayoutFrame extends JFrame
{
public BoxLayoutFrame()
{
setTitle("箱式布局");
setSize(300,200);
Container con = getContentPane();
BoxLayoutPanel panel = new BoxLayoutPanel();
con.add(panel);
}
}
class BoxLayoutPanel extends JPanel
{
public JLabel lname,lpsd;
public JTextField fname;
public JPasswordField fpsd;
public JButton ok,cancel;
public BoxLayoutPanel()
{
BorderLayout layout = new BorderLayout();
setLayout(layout);
lname = new JLabel("用户名");
lpsd = new JLabel("密 码");
fname = new JTextField(10);
fname.setMaximumSize(fname.getPreferredSize());//最大尺寸等于完美尺寸
fpsd = new JPasswordField(10);
fpsd.setMaximumSize(fname.getPreferredSize());
ok = new JButton("确定");
cancel = new JButton("重置");
Box hbox1 = Box.createHorizontalBox();//水平
Box hbox2 = Box.createHorizontalBox();
Box hbox3 = Box.createHorizontalBox();
hbox1.add(lname);
hbox1.add(Box.createHorizontalStrut(50));//支撑柱
hbox1.add(fname);
hbox2.add(lpsd);
hbox2.add(Box.createRigidArea(new Dimension(50,20)));//固定区 20是箱子的大小
hbox2.add(fpsd);
hbox3.add(Box.createHorizontalStrut(48));
hbox3.add(ok);
hbox3.add(Box.createHorizontalGlue());//弹簧
hbox3.add(cancel);
hbox3.add(Box.createHorizontalStrut(48));
Box vbox = Box.createVerticalBox();//垂直
vbox.add(hbox1);
vbox.add(hbox2);
vbox.add(Box.createVerticalStrut(10));
vbox.add(hbox3);
add(vbox);
}
}
相关文章推荐
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- Java开发GUI之绝对布局
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- Java开发GUI之GridBagLayout布局
- Java GUI编程的几种常用布局管理器
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- javaGUI之基本布局方式
- java -- GUI程序设计之无布局管理器布局
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
- JAVA图形界面(GUI)之布局管理器
- Java的GUI组件的布局管理器
- Java笔记(10)-图形界面设计、Swing、窗口、JFrame、常用组件和布局、处理事件、MVC结构、对话框、GUI
- 赵雅智_java GUI设计和布局
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- java GUI布局与设置背景
- Java开发GUI之CardLayout卡片布局
- javaGUI之基本布局方式
- JAVA进行GUI程序设计之布局管理(上)
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单