这有两个部分:

>获取您的组件,字体等

规模化

>获取您的布局

规模

对于Swing来说,第一部分很容易 – 一切都从一个电话开始.

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

在Windows上,这将使其符合您的小/大字体(DPI)设置.

这里有一个快速测试应用程序的两个屏幕截图,它们在Windows 7 @ 96dpi(普通字体)和@ 144dpi(150%)中显示在我的机器上的外观,

首先默认的字体大小示例:

现在更大(150%)字体大小设置:

运行之间没有代码更改,只能注销&回到新的DPI设置.我设定了一个固定的框架大小,以证明我的容器没有缩放大小,这导致我的标签被推下来以适应.

这是我的源代码 – cut&粘贴并自行运行:

import java.awt.FlowLayout;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.SwingUtilities;

import javax.swing.UIManager;

public class SwingFontTest

{

private static void createGUI()

{

JButton button = new JButton("my button with Some Text");

JLabel label = new JLabel("and a label");

JPanel panel = new JPanel(new FlowLayout());

panel.add(button);

panel.add(label);

JFrame frame = new JFrame("Title!");

frame.setContentPane(panel);

frame.setSize(300,125);

frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

public static void main(String[] args)

{

try

{

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

}

catch (Exception e)

{

e.printStackTrace();

}

SwingUtilities.invokeLater(new Runnable() {

@Override

public void run()

{

createGUI();

}

});

}

}

外观&感觉提供默认的大小,但是由GUI作者在布局中使用可扩展单元.它确实需要努力(可扩展的布局也是网页上的一个痛苦),但它是绝对可以实现的.

我建议使用像FormLayout这样的布局,让您可以在对话框单元(DLU)中定义布局,因为这些使用DPI进行缩放.这将使您能够使您的容器尺寸缩小,并应有助于限制由于尺寸调整到标签移动到下一行的行为.如果使用对话单元确定框架的大小,则可以使其看起来相同,只有较大的.

现在已经很晚了 – 现在就这样了.

java获取系统字体大小_Java自动调整到Windows 7的字体大小调整相关推荐

  1. 调整java字体大小_Java自动调整到Windows 7的字体大小调整

    这有两个部分: >获取您的组件,字体等 规模化 >获取您的布局 规模 对于Swing来说,第一部分很容易 – 一切都从一个电话开始. UIManager.setLookAndFeel(UI ...

  2. java 获取系统时间不对_java new Date()得到的时间和系统时间不一样

    造成这种问题的原因可能是:你的操作系统时区跟你JVM的时区不一致. 你的操作系统应该是中国的时区吧,而JVM的时区不一定是中国时区,你在应用服务器的Java虚拟机添加如下配置: -Dfile.enco ...

  3. java获取系统运行日志文件_java – 如何获取特定的日志文件并在jenkins控制台输出中显示其内容...

    我有以下Jenkins post-build shell脚本: ssh user@my_server < service my_service stop service my_service s ...

  4. java 获取系统时间 秒_JAVA获取当前系统时间System.currentTimeMillis()

    System.currentTimeMillis()产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数,Date()其实就是相当于Date(System.currentTimeMi ...

  5. java获取系统当前时间格式化_java 获取系统当前时间并格式化

    java 获取系统当前时间并格式化 CreateTime--2018年5月9日11:41:00 Author:Marydon 实现方式有三种 updateTime--2018年7月23日09点32分 ...

  6. java+获取下个小时_Java获取系统时间少8个小时 | 学步园

    java获取系统时间问题: public class TestDate { public static void main(String[] args) { System.out.println(&q ...

  7. Java获取系统时间

    Java获取系统时间 Java获取系统时间 在java 中,有很多种方法都可以获取到系统的当前时间,但也需要到对应的类,不同的类自然有不同的方法.这里为大家介绍获取系统当前时间的四种方式. 1. 通过 ...

  8. Java获取系统当前时间

    本篇文章帮大家学习java获取系统当前时间,包含了Java获取系统当前时间使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 以下实例演示了如何使用 Date 类及 Simp ...

  9. java label设置字体颜色_Java中怎么设置JLabel的字体样式,大小,颜色

    展开全部 答 : 最常32313133353236313431303231363533e4b893e5b19e31333363386166见的解决方案有两种. 第一种: 原生的java写法. 核心代码 ...

  10. java获取系统日期_java怎么获取当前日期

    java获取当前日期的方法:直接实例化位于Java包java.util的Date类即可,如[Date date = new Date();]. System.currentTimeMillis() 获 ...

最新文章

  1. python tableview_在PyQ中清除TableView
  2. 《数据科学家养成手册》第五章---矛盾的世界笔记
  3. 费用流 -- 四川省赛F-Direction Setting [拆边成点+费用流]
  4. 鲁棒,抗遮挡的对柔性手抓取的物体6D姿态估计
  5. (转)资料收集,新手必备的sql数据导入导出知识
  6. 8.7 程序示例--异常检测-机器学习笔记-斯坦福吴恩达教授
  7. linux pip已经安装,提示/usr/bin/pip: No such file or directory
  8. mysql数据库创建表时通过设置什么属性可以设置字段编号自动增加_Mysql数据库创建表样例和解释...
  9. python程序启动其他python程序_python中使用fork创建新的进程
  10. Codeforces 808G. Anthem of Berland
  11. 高通MTK 安卓手机 手机更改SN 序列号 识别码 教程视频
  12. 【pyhton数据预处理】利用pandas模块找出两excel表格差异并进行字段值比较
  13. php里用钢笔画曲线,ps钢笔工具怎么抠图
  14. M1 芯片打开软件提示:“XXXX” 因为出现问题而无法打开 怎么解决?
  15. ActiveX 暴漏你所有信息的可怕的插件!
  16. 科技爱好者周刊(第 151 期):NFT 是什么,听说能赚钱
  17. python处理excel数据并对数据进行打分
  18. 攻防比赛中系统层漏洞挖掘-身份隐藏解决方案
  19. 三网运营商移动联通电信话费余额查询接口-携号转网识别查询/号码归属地查询-携号转网API接口
  20. 计算机研讨会通讯录,江苏学会网 中国力学学会学术大会’2005 第二轮通知

热门文章

  1. 【优化预测】基于matlab天牛须算法优化ELMAN神经网络预测【含Matlab源码 1375期】
  2. 【三维装箱】基于matlab遗传和模拟退火算法求解三维装箱优化问题【含Matlab源码 031期】
  3. python图形库可以干什么_安装Python图形库matplotlib
  4. 人工智能ai算法_当AI算法脱轨时
  5. opencv 识别火灾_使用深度学习和OpenCV早期火灾探测系统
  6. linux服务器做301跳转,linux主机如何实现301重定向
  7. php mysql账号注册_php mysql用户注册登陆代码_PHP教程
  8. 使用文件进行输入输出的两种方式(算法竞赛入门经典第2章)
  9. pip:你真的熟悉怎么用了吗?
  10. 将c语言编译成verilog,是否可以将System Verilog函数编译为C或C?