流式布局java_Java_流式布局、边框布局以及网格布局

本文介绍了如何在Java中使用流式布局、边框布局和网格布局。通过示例代码展示了如何创建一个学生信息添加界面,详细说明了各个组件的布局设置,并提供了窗口大小调整和位置定位的处理方法。
摘要由CSDN通过智能技术生成

功能简介: 简单使用流式、边框以及网格布局;效果图:

0818b9ca8b590ca3270a3433284dd417.png

=>StuInfoAdd.java

package ui.stuinfo; import java.awt.BorderLayout; import java.awt.Dimension;//尺寸对象; import java.awt.FlowLayout; import java.awt.GridLayout;//网络布局; import java.awt.Toolkit; import java.text.DateFormat; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFormattedTextField; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; /**  * 学生信息管理系统_学生基本信息添加类  * @author 23_11  * @time 2013-08-12 16:30  */ public class StuInfoAdd extends JFrame{ /* * 基本组件声明 */ JPanel contentp = new JPanel(); JPanel toolp = new JPanel(); // 学号 JLabel xhlbl = new JLabel("学号"); JTextField xhtxt = new JTextField(); // 姓名 JLabel xmlbl = new JLabel("姓名"); JTextField xmtxt = new JTextField(); // 性别 JLabel xblbl = new JLabel("性别"); JComboBox xbcbb = new JComboBox(); // 民族 JLabel mzlbl = new JLabel("民族"); JTextField mztxt = new JTextField(); // 出生日期 JLabel csrqlbl = new JLabel("出生日期"); JFormattedTextField csrqtxt = new JFormattedTextField(DateFormat.getDateInstance()); // 籍贯 JLabel jglbl = new JLabel("籍贯"); JTextField jgtxt = new JTextField(); // 班级 JLabel bjlbl = new JLabel("班级"); JComboBox bjcbb = new JComboBox(); // 学期 JLabel xqlbl = new JLabel("学期"); JComboBox xqcbb = new JComboBox(); // 添加 JButton addbtn = new JButton("添加"); // 取消 JButton cancelbtn = new JButton("取消"); /** * 初始化基本组件 * @throws Exception */ private void initComponent() throws Exception{ // 出生日期 csrqtxt.setColumns(14); // 性别 xbcbb.setVerifyInputWhenFocusTarget(true); xbcbb.addItem("男"); xbcbb.addItem("女"); // 班级 bjcbb.setVerifyInputWhenFocusTarget(true); bjcbb.addItem("1311"); bjcbb.addItem("1312"); // 学期 xqcbb.setVerifyInputWhenFocusTarget(true); xqcbb.addItem("131401"); xqcbb.addItem("131402"); /* * 添加组件进框架 */ // 内容面板 GridLayout gridlayout = new GridLayout(); gridlayout.setRows(4); gridlayout.setColumns(4); gridlayout.setVgap(20); contentp.setLayout(gridlayout); xhlbl.setHorizontalAlignment(JLabel.CENTER); contentp.add(xhlbl); contentp.add(xhtxt); xmlbl.setHorizontalAlignment(JLabel.CENTER); contentp.add(xmlbl); contentp.add(xmtxt); xblbl.setHorizontalAlignment(JLabel.CENTER); contentp.add(xblbl); contentp.add(xbcbb); mzlbl.setHorizontalAlignment(JLabel.CENTER); contentp.add(mzlbl); contentp.add(mztxt); csrqlbl.setHorizontalAlignment(JLabel.CENTER); contentp.add(csrqlbl); contentp.add(csrqtxt); jglbl.setHorizontalAlignment(JLabel.CENTER); contentp.add(jglbl); contentp.add(jgtxt); bjlbl.setHorizontalAlignment(JLabel.CENTER); contentp.add(bjlbl); contentp.add(bjcbb); xqlbl.setHorizontalAlignment(JLabel.CENTER); contentp.add(xqlbl); contentp.add(xqcbb); // 工具面板 toolp.setLayout(new FlowLayout(FlowLayout.RIGHT));// 右对齐; toolp.add(addbtn); toolp.add(cancelbtn); // frame框架 setLayout(new BorderLayout()); this.getContentPane().add(contentp, BorderLayout.CENTER); this.getContentPane().add(toolp, BorderLayout.SOUTH); } /** * 构造函数 */ public StuInfoAdd() { try { // 初始化基本组件 initComponent(); /** * frame设置 */ // 大小 this.setSize(450, 230);//默认大小,后边将根据屏幕大小对其进行修改; Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//当前屏幕大小; Dimension frameSize = this.getSize();//当前frame大小; if(frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if(frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } // 标题 this.setTitle("学生基本信息添加"); // 位置 this.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2); this.setResizable(false);//不可更改大小; }catch(Exception e) { e.printStackTrace(); } } public static void main(String[] args) { System.out.println("=>学生基本信息添加;"); StuInfoAdd stuinfo = new StuInfoAdd(); stuinfo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); stuinfo.setVisible(true); } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值