



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
很多初学者在用 Java 布局器自动布局画界面时 经常遇见不知道如何定义区域大小或按钮 之间的距离等问题 我写过一篇 实现 JAVA 手动布局中各个组件能随窗口变化的方法 的文章 有读者反映算坐标不好算 问能不能用布局器实现文章中的界面 其实自动布局 也可以解决定义区域大小或按钮之间的距离等问题 只是没有手动布局那么灵活 下面我 就举一个例子 首先 建一个 frame 文件 Application 应用程序 在 Design 中将 this 中的 layout 设 置为 BorderLayout 第二 在组件盘内点选 Swing Container 页签 选取 Jpanel 图标 在 this 中上方拖拽一 块区域 布局器会自动调整位置与大小 同样的方法在中下方也拖拽一块区域 在 Swing Container 页签 选取 jScrollPane 图标 将 jScrollPane 在中间拖拽一块区域 拖拽的顺序一 定要先上后下再中间 为了方便区分 在 Properties 的 background 中 将上方的 Jpanel1 区 域设置为红色 下方的 Jpanel2 区域设置为橙色 中间的 jScrollPane1 为粉红色 将 Jpanel1 和 Jpanel2 的 layout 设置为 flowLayout 必须要手动设置 不要采用默认值 第三 在 Jpanel 中放入一个 Jlable 标题栏 JTextField1 文本框和 Jbutton 按钮 在组件 盘内点选 Swing 页签 选取 JLable 图标在 Jpanel1 的中画一个标题栏 将 text 改为 请输 入查询条件 再选取 JtextField 在 Jpanel1 中画一个文本框 将 text 改为空 最后选取 Jbutton 在 Jpanel1 中再画一个按钮将 text 改为 查询 画完后他们都是在中间 而且大小 固定 这时点选 Jpanel 的 flowLayout1 将右边 Properties 中的 alignment 设置为 LEFT 这时 Jpanel1 中的组键就会向左排列 选中其中一个组键 在 Properties 中的 preferredSize 可以 设置组键的宽和高 同样的方法在 Jpanel2 中画三个 Jbutton 按钮 将 text 分别设为 增加 删除 修改 点选 Jpane2 的 flowLayout2 将右边 Properties 中的 hgap 设置为 30 按 钮的间距 可根据自己的需要调整数值大小 这样就调整了三个按钮之间的距离 设置 vgap 还可以改变 Jpane2 区域的高度 第四 在 jScrollPane1 中建一个表格用来显示数据库数据的内容 在组件盘内点选 Swing 页签 选取 JTable 图标 将 Jtable 加入到 jScrollPane1 中 最后 将 this 中的 defaultCloseOperation 改为 EXIT ON CLOSE 这样在关闭窗口时程 序会自动退出 程序源代码如下 除中文注释部分的两句是自己加上去 其余是自动生成 import javax swing import java awt import java awt event import java util Vector import javax swing table DefaultTableModel public class Frame1 extends JFrame BorderLayout borderLayout1 new BorderLayout JPanel jPanel1 new JPanel JPanel jPanel2 new JPanel JPanel jPanel3 new JPanel JLabel jLabel1 new JLabel JTextField jTextField1 new JTextField JButton jButton1 new JButton FlowLayout flowLayout1 new FlowLayout FlowLayout flowLayout2 new FlowLayout JButton jButton2 new JButton JButton jButton3 new JButton JButton jButton4 new JButton GridLayout gridLayout1 new GridLayout JScrollPane jScrollPane1 new JScrollPane JTable jTable1 new JTable public Frame1 try jbInit catch Exception e e printStackTrace public static void main String args Frame1 frame1 new Frame1 frame1 setSize new Dimension 400 350 frame1 show private void jbInit throws Exception this getContentPane setLayout borderLayout1 jPanel1 setBackground Color red jPanel1 setLayout flowLayout1 jPanel2 setBackground Color red jPanel2 setLayout flowLayout2 jPanel3 setBackground Color pink jPanel3 setLayout gridLayout1 jLabel1 setPreferredSize new Dimension 100 16 jLabel1 setText 请输入查询条件 jTextField1 setPreferredSize new Dimension 140 22 jTextField1 setText jButton1 setText 查询 jButton1 addActionListener new Frame1 jButton1 actionAdapter this flowLayout1 setAlignment FlowLayout LEFT flowLayout1 setHgap 5 flowLayout1 setVgap 10 jButton2 setText 增加 jButton3 setText 删除 jButton4 setText 修改 flowLayout2 setHgap 30 flowLayout2 setVgap 5 this setDefaultCloseOperation EXIT ON CLOSE this getContentPane add jPanel1 BorderLayout NORTH jPanel1 add jLabel1 null jPanel1 add jTextField1 null jPanel1 add jButton1 null this getContentPane add jPanel2 BorderLayout SOUTH jPanel2 add jButton2 null jPanel2 add jButton3 null jPanel2 add jButton4 null this getContentPane add jPanel3 BorderLayout CENTER jPanel3 add jScrollPane1 null jScrollPane1 getViewport add jTable1 null 模拟查询数据库 void jButton1 actionPerformed ActionEvent e try 制作表 Vector vcol new Vector 列名 Vector vrow new Vector 内容 for int col 1 col 31 col vcol addElement 列 col for int row 1 row 101 row Vector vr1 new Vector for int col 1 col 31 col vr1 addElement row col vrow addElement vr1 DefaultTableModel dtm new DefaultTableModel vrow vcol jTable1 new JTable vrow vcol jTable1 setAutoResizeMode JTable AUTO RESIZE OFF 滚动条设置左右滚 this jScrollPane1 getViewport add jTable1 null 在滚动条中放入表 catch Exception ex JOptionPane showMessageDialog null ex class Frame1 jButton1 actionAdapte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版桥梁涂装油漆采购合同范本保障桥梁耐久性
- 二零二五年度泵车租赁保险及赔偿合同
- 2025版建筑工程设计、施工、监理、智能环保节能一体化服务合同范本
- 2025版住宅小区建设材料供应合同
- 麻醉健康科普大赛课件
- 二零二五年度智慧社区房地产典当服务协议
- 二零二五年度石材加工打磨承包协议8
- 二零二五年度光伏发电项目投资与运营合同
- 二零二五年度二手自行车买卖简单协议书范本
- 二零二五年二手车贷款金融产品研发与推广合同
- 【基于杜邦分析法的爱美客公司盈利能力研究】14000字
- 酒旅餐饮商家直播间通用话术大全10-46-16
- 店铺装修标准
- 后疫情时代技工院校学生健康安全状况调查报告
- 地铁接触网直流融冰的研究与应用
- 九招致胜课件完整版
- 2014年欧洲儿童急性胃肠炎诊治指南
- 销售管培生培养方案
- GB/T 1972-2005碟形弹簧
- 2023年大学英语四级考试高频词汇1500打印版
- 检测机构员工手册模板
评论
0/150
提交评论