Java盒式布局的新用法示例代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
package com.hy.yd;
import java.awt.Color;
import java.awt.FlowLayout;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class GuiLayoutExample {
public static void main(String[] args){
MainFrame mf=new MainFrame("用户登录界面");
}
}
class MainFrame extends JFrame{
public MainFrame(String str){
this.setTitle(str);
this.setSize(320,240);
this.setLayout(new FlowLayout());
//Box类是借助于BoxLayout管理器创建单行或单列组件的一个特殊容器
Box boxTitle,box1,box2,box3,boxBase,boxMain;
boxBase=Box.createHorizontalBox();//boxBase容器按照水平方向排列组件
boxMain=Box.createVerticalBox();//boxMain容器按照垂直方向排列组件
boxTitle=Box.createHorizontalBox();////boxTitle容器按照水平方向排列组件
box1=Box.createVerticalBox();////box1容器按照垂直方向排列组件
box1.add(new JLabel("name"));//box中加入标签name;
box1.add(Box.createVerticalStrut(8));//box1标签name下加入8个点的空白间距box1.add(new JLabel("sex"));//box中加入标签sex;
box1.add(Box.createVerticalStrut(8));//box1标签sex下加入8个点的空白间距box1.add(new JLabel("age"));//box中加入标签age;
box2=Box.createVerticalBox();//box2容器按照垂直方向排列组件
box2.add(new JTextField(10));//box2中加入文本框
box2.add(Box.createVerticalStrut(8));//box2中在文本框下加入8个点的空白间距box2.add(new JTextField(10));//box2中加入文本框
box2.add(Box.createVerticalStrut(8));//box2中在文本框下加入8个点的空白间距box2.add(new JTextField(10));//box2中加入文本框
box3=Box.createHorizontalBox();//box3容器按水平方向排列组件
box3.add(new JButton("登录"));//box3中加入登录按钮
box3.add(Box.createHorizontalStrut(15));//box3在按钮右边加入15个点的空白box3.add(new JButton("重写"));//box3中加入重写按钮
boxBase.add(box1);//boxBase容器中加入box1
boxBase.add(Box.createHorizontalStrut(8));//boxBase在右边加入8个点的空白boxBase.add(box2);//boxBase中加入box2
JLabel lblTitle=new JLabel("信息系统用户登录界面");
lblTitle.setOpaque(true);
lblTitle.setHorizontalAlignment(SwingConstants.CENTER);//标签文字居中
boxTitle.add(lblTitle);//lblTitle标签加入到boxTitle
//boxTitle.add(Box.createVerticalStrut(20));
boxMain.add(boxTitle);//boxtitle加入到boxMain
boxMain.add(Box.createVerticalStrut(20));//加入20空白区域
boxMain.add(boxBase);//boxBase加入到boxMain
boxMain.add(Box.createVerticalStrut(10));//加入10个空白区域
boxMain.add(box3);//box3加入到boxMain
this.add(boxMain);//将boxMain加入到JFrame中
this.setVisible(true);
}
}