首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Swing:系统级组件规模?

Java Swing:系统级组件规模?
EN

Stack Overflow用户
提问于 2012-05-30 08:11:45
回答 4查看 3.7K关注 0票数 4

有没有办法通过一个因素来扩展一个应用程序中的所有Swing组件?我有一个现有的Swing应用程序,我想要以双倍大小显示所有组件。这个是可能的吗?

编辑:

我正在将Java Swing应用程序移植到Sugar (OLPC XO图形环境)。我没有辅助功能。这台机器在7.5英寸的显示屏上只有一个1200x900的分辨率。因此,这些组件非常小,而且无法读取。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-30 08:21:33

不幸的是,Swing中没有这样的standart特性。

应用程序中的每个组件大小由添加该组件的容器的布局和组件的首选/最小大小(由其UI提供)确定。

因此,最好的方法(在我看来)是修改standart UI,以便它们提供额外的首选大小(在您的情况下是双倍)。但您必须为特定类型的每个组件分别执行此操作(按钮/复选框/表格/树/滚动e.t.c.)。此外,您不能更改系统UIs您只能扩展一些跨平台的外观和感觉,如金属LaF,如果您使用的是本地外观,这将没有任何用处。

不过,您可以更改一些默认的L&F属性,如字体:

代码语言:javascript
复制
UIManager.put ( "Button.font", new FontUIResource ( new Font ( "Arial", Font.BOLD, 20 ) ) );

此特定情况仅更改按钮字体。你还可以在任何LookAndFeel类(例如BasicLookAndFeel)中找到许多其他组件的字体属性。

票数 4
EN

Stack Overflow用户

发布于 2019-08-22 01:48:58

如果你把

代码语言:javascript
复制
System.setProperty("sun.java2d.uiScale","2")

在main方法的最开始,这将使整个应用程序缩放2倍。其他缩放因子也是可能的。如果我已经在Windows7上的openJDK 11和Linux with KDE上成功地尝试了这一点,那么无论是在系统外观还是感觉上都是如此。Windows不接受小数比例因子,而KDE不接受。

如果您不想修改源代码,则jvm的命令行选项将具有相同的效果:

java -Dsun.java2d.uiScale=2 -jar myApp.jar

票数 7
EN

Stack Overflow用户

发布于 2012-05-30 12:38:23

通过使用Nimbus Look and Feel

  • is,
  • 可以缩放Swing JComponents非常复杂地修改Nimbus L&F、它的ColorInsetsBounds e.i.,但在普通形式下没有任何问题
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10808429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档