【问题标题】:Change JFrame border in UIDefaults在 UIDefaults 中更改 JFrame 边框
【发布时间】:2013-08-18 18:58:22
【问题描述】:

我应该更改 UIDefaults 中的哪个键以将应用程序中所有 JFrame 的边框颜色从蓝色更改为其他颜色?

我知道这里没有代码,但这是一个非常简洁的问题。

编辑

下面是显示 JFrame 的图像,它们不是主窗口,而是在布局内。我认为主窗口受到 Native 环境的影响,但是如果 JFrames 在主窗口内,那么我不应该能够自定义边框吗?

【问题讨论】:

  • 您使用的是哪个版本的 java 和操作系统?
  • Java 1.7 和 Linux,但应用程序需要在所有主要操作系统上运行。但是有一件事是不变的,那就是 LAF,我正在使用 MetalLookAndFeel。

标签: java swing jframe look-and-feel uidefaults


【解决方案1】:

我应该更改 UIDefaults 中的哪个键来更改边框颜色 应用程序中的所有 JFrame 从蓝色变为其他?

  • 在 Java 端没有 JFrame (e.i.) 的任何键

  • 边框和标题栏由 Native OS 装饰,当前颜色(字体、大小)主题应用于所有窗口,

  • 您可以从 JFrame 获取第一个组件并更改颜色、字体,但仅对于标题栏,边框保持不变

  • 结果是使用some of custom L&F can do that,例如物质(我试过),创建了自己的边框,标题栏和按钮作为替代

【讨论】:

  • 我可以通过扩展 JFrame 的 Metal LAF UI 委托并在 UIDefaults 中设置它来实现 JFrame 的自定义委托吗?如果是这样,你会碰巧知道代表的名字吗?
  • 好的,再次阅读您的答案后,我注意到您指的是用作主窗口的 JFrame。在我的情况下,情况并非如此。 JFrame 包含在另一个作为主窗口的 JFrame 中。
  • 不是自定义 L&F 有自己的颜色、字体和形状主题,将 L&F ot 他们的孩子设置回 MetalL&F 有太多hacky,但是有可能,免费的自定义 L&F 有可访问的代码源,你可以(默认情况下,如果不受使用条款的限制或限制)使用仅修改 JFrame 的代码的相关部分,maybe this post as simple guide will help you, especially to save lot of time
  • 请看我的编辑。我想可能是误会了。
  • aaach 你的意思是 JSplitPane,是的,有可能覆盖 Divider,从未尝试过,不知道是否可访问或受保护,那么你需要寻找自定义 BasicSplitPaneUI,注意忘记了 MetalSplitPaneUI,覆盖BasicXxx
【解决方案2】:

试试“windowBorder”键。 来源:http://nadeausoftware.com/node/85#Systemcolors

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    相关资源
    最近更新 更多