java自动适应窗口大小_Java Swing界面如何动态调整大小(自适应)
最近做的一个程序是用Swing的,要求能够根据不同的分辨率自动调整界面上所有组件的大小。也就是说不是写死是1024×768,并且字体也需要根据大小自动变化。
我使用的工具是Netbeans,为实现动态变化,我使用了GridBagLayout。首先,新建一个类,继承JPanel。然后设置JPanel的Layout为GridBagLayout。当然,根据情况,可以和Html中的表格一样,Panel里面嵌套Panel,要点是每个Panel的Layout都设置为GridBagLayout(使用其他的Layout也可以实现这样的功能,但是个人感觉GridBagLayout最容易控制和使用)。
Layout的设置只是第一步,缺省情况下,GridBagLayout会把Panel中所有的组件排成一行,从左到右逐个排放。这时候,就要使用Customize Layout(定制布局)的功能,点击后,会再弹出一个窗口
在新的窗口中,可以拖动Panel里面的组件,象表格一样,组织安放所有的组件,相当方便。
这些步骤完成后,重要的两个属性是,填充(Fill),建议把所有组件的Fill属性,都选成Both,也就是水平和垂直方向都延伸填充。这样,Panel里面的所有组件会平铺开来,占满Panel的所有空间。那么,如何调整这些组件的大小呢?需要使用weightx和weighty这两个属性。这两属性的值使用0.0~1.0之间的小数,数越大,组件所占据的空间越大。
通过以上的设置,就可以实现组件大小随着Panel大小的变化而变化了。
那么,又如何实现字体的变化呢?这个只能通过编程实现了。但是initComponents函数里的代码都是自动生成的,如何添加自定义的代码呢。点击属性面板里的字体属性后面的小方框,在弹出的对话框里,点击高级按钮,勾选“生成初始化后的代码”,然后在文本框里,输入代码,这段自定义代码,会在每次自动生成代码的时候,添加到initComponents函数中。
java自动适应窗口大小_Java Swing界面如何动态调整大小(自适应)相关推荐
- java组件自适应窗口大小_java swing 窗口和控件自适应大小
本文记录java开发CS结构时怎么自适应屏幕大小以及控件跟随frame大小变化大小.位置和字体大小 需要注意: 1.代码必须放置在其构造方法中.如:我的frame1是我frame.java的名,则代码 ...
- java swing 知乎_java swing 界面开发
Swing界面开发 Swing体系组件:JFrame(窗体),JButton(按钮),JTree(树形结构)等 java中的界面类: java.awt包:颜色,布局,监听器等 javax.swing包 ...
- java 单行文本_Java Swing界面编程(17)---单行文本输入组件:JTextField
package com.beyole.util; import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.J ...
- java scrollpane 设置透明_java swing 之 JScrollPane(滚动面板)的使用
/** * java swing 之JScrollPane面板 * 在设置界面时,可能会遇到在一个较小的容器窗体中显示一个较大部分的内容,这时可以使用 * JScrollPane面板,JscrollP ...
- java关闭窗口按钮_java swing 使用按钮关闭窗口
目的是给JButton添加点击操作,使指定JFrame窗口关闭. 网上不少说法是采用frame.dispose();的方法 但是采用frame.dispose();并没有使添加在frame上的wind ...
- java自动生成合同_Java 7和Java 8之间的细微自动关闭合同更改
java自动生成合同 Java 7的try-with-resources语句和与该语句一起使用的AutoCloseable类型的一个不错的功能是,静态代码分析工具可以检测到资源泄漏. 例如,Eclip ...
- java自动推断类型_Java 7的类型推断
java自动推断类型 每个优秀的程序员都喜欢编写简洁但有效且经过优化的代码. 类型推断是JDK 7中引入的一种方法,它肯定会为您带来更少键入的好处. 您以以下方式使用Java代码已有很长时间了. 但是 ...
- java 日历控件_java swing 日历控件怎么实现 最好是源码
展开全部 源代码: e69da5e887aa3231313335323631343130323136353331333330363864//DatePicker.java package com.kx ...
- java实现弹球游戏_Java swing版弹球游戏源代码下载
package 弹球; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionL ...
最新文章
- 洛谷P2672 推销员
- 第十五届全国大学生智能车全国总决赛获奖信息-东北赛区
- myeclipse mysql 乱码_MyEclipse与mysql增改查现乱码解决方案绝对有效
- python3怎么定义long_python3 整数类型PyLongObject 和PyObject源码分析
- 6 日期字符串转日期_山西省导游协会关于发放电子导游证的通知 (生成日期为2020年5月28日2020年6月3日)...
- iscsi 挂载教程_Windows Server 2008 R2 建立iSCSI存储的教程(图文)
- 关于jsp:include 动态引入的值传递问题(数据共享问题)
- 怎么样打印cxgrid过滤后的数据
- Java Stream流
- 通过5个概念 一文弄明白DAO
- 系统创建定时执行任务bat批处理删除指定N天前文件夹的文件
- 文本标注工具BRAT的安装与配置
- 数据分析基础篇---统计学基础
- python打印标签脚本
- 最新版本 Stable Diffusion 开源 AI 绘画工具之汉化篇
- 咩小饬的造轮子之路(彩票篇)
- sql1复习笔记10
- 如何扫描图片变成文字?手把手教你转换操作
- 怎样在一台电脑里访问其他电脑里的虚拟机
- spring注解详解,看完你就都全懂了!!
热门文章
- TypeScript数据类型
- 微软常用运行库合集 202206
- HTC ONE M7 ROOT后恢复 原始状态(保修)
- 女孩上中专学财经类号还是计算机好,女生学财经类专业好吗
- LintCode 183.木材加工
- PromSql的写法详解
- OpenStack平台-keystone与glance服务运维
- viper4android io错误,Go之Viper
- DM8 数据守护(Data Watch)搭建
- failed to accept an incoming connection: connection from 127.0.0.1