- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的 Java 应用程序中,我必须自定义绘制一个控件,为此我需要使用与 JButton
相同的字体颜色。 (启用和禁用)我不想对它们进行硬编码,因为用户可以在运行时更改 Substance 皮肤。
我知道ColorSchemes
,但我不确定在获得当前皮肤的配色方案后如何继续。 Substance 文档也说了一些关于创建您自己的配色方案的内容,但我只是想不出检索特定颜色的方法。
最佳答案
好吧,最后我自己弄明白了:
重要的一步是找出正确的配色方案。因为在 Substance 中每个根 Pane 都可以有自己的皮肤,所以最好使用 getCurrentSkin
helper。
SubstanceColorScheme s = SubstanceLookAndFeel
.getCurrentSkin(myComponent)
.getEnabledColorScheme(
SubstanceLookAndFeel.getDecorationType(myComponent)
);
其他可能性是 getDisabledColorScheme
、getActiveColorScheme
和 getBackgroundColorScheme
。
然后您可以使用 s.getForegroundColor
或 SubstanceColorUtilities
中的各种辅助方法。
关于java - 如何使用 Substance LaF 获取按钮的文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2871548/
例如,可能有不同的 LAF。 JPanel 及其所有子项? 我的程序的核心(全部在一个 JPanel 中)严重依赖于组件的高度和宽度(通过不同的 LAF 进行更改),因此必须有一个恒定的 LAF。其余
我自定义我的 JComboBox 如下。 该程序在默认 LAF 下运行正常,但是每当我将 LAF 更改为 System LAF(另一个 LAF,Nimbus 也可以)时,单击按钮后就会出现无限循环。我
我有一个用 Java 编写的应用程序。当我使用跨平台 LAF(金属)从 eclipse 运行它时UIManager.setLookAndFeel(UIManager.getCrossPlatformL
我正在 Netbeans 中构建一个 GUI,它在设计器中看起来不错,但当我运行该程序时,它看起来很垃圾。我使用的是 Mac,所以我觉得使用 Mac OS LAF 看起来会更好,但是当我在 Windo
在我编写的“Battleship”程序中,我包含了将程序的“外观和感觉”更改为 SystemDefault、“Metal”(Java 默认)或“Motif”(也包含在 Java 中)的可能性。如果您从
我正在使用 Netbeans IDE,并且我想在 Java 应用程序中使用 Insubstantial LAF (http://insubstantial.posterous.com/)。但是,我不知
我有一个带有两个 JPanel 的应用程序,它们必须具有不同的样式。我使用 Synth LaF,但我不知道如何在一个 xml 文件中拥有两种不同的样式。我定义了一种样式并将其绑定(bind)到“面板”
我们在带有Solaris的服务器上运行构建。将 jre 1.6 更改为 jre 1.7 后,运行所有测试的实用程序开始抛出异常(抱歉我的英语): [java] Exception in thread
我是 Java 的新手,我搜索了很多网络和 Java 文档,但我不明白如何将 JTatto LAF 集成到我的应用程序中。 我下载了 .jar 文件并将其保存到我的类(class)所在的同一文件夹中。
我有一个应用程序在几个地方使用禁用的 JTextFields,这些地方是透明的 - 允许显示背景而不是文本字段的正常背景。 当运行新的 Nimbus LAF 时,这些字段是不透明的(尽管设置了 set
当我使用 Nimbus 外观时,我在 addPropertyChangeListener 处收到 NullpointerException 。当我使用 Linux 标准 LAF(金属)时,一切工作正常
如何子类化 JTabbedPane 并为子类的每个实例提供与默认 LaF 不同的外观?我仍然想访问默认的 JTabbedPanel,因此简单地覆盖全局 LaF 不是一个选项。 谢谢。 最佳答案 您可以
使用 Synth LaF,我无法将 JLabel 的前景颜色设置为“禁用”状态。有人成功做到这一点吗?这是 LaF.xml 文件中标签的样式定义。
我想删除 LAF JCheckbox 周围的蓝色东西: 我该怎么做? 非常感谢 最佳答案 图标是 LAF 的一部分。 如果您不喜欢默认图标,那么您可以随时提供自己的图标: checkBox.setIc
如何从 Swing JComboBox 中删除 LAF 样式? 最佳答案 实际上您无法删除 LAF,因为那时不会呈现任何内容,但您可以仅为该组合框设置另一个 LAF。 像这样: combo.setUI
我正在通过动态更改 UIDefaults 来自定义 Swing 应用程序。最终目标是更改其中的许多内容(颜色、字体、大小、边框等)并根据每个用户保存结果。虽然它可能会给应用程序带来一些非标准的外观,但
我最近一直在尝试将系统转换为统一的外观和感觉(在本例中为 Nimbus)。然而,某些组件需要更改默认值,我不想仅仅因为单个组件而更改默认值。 我正在尝试覆盖 JTree 组件的行突出显示颜色。我已经设
我目前正在使用 swing 应用程序。对于开发人员来说,最重要的是用户必须熟悉 GUI。我想开发一个应用程序,它可以具有所有平台的 native (平台的默认)外观在计算机上使用的(我的意思是说我的应
最近我一直在使用 Nimbus Look and Feel 开发一个 Swing 项目。我想将 JOptionPane 中的所有按钮设置为具有相同的大小,但徒劳无功。 import javax.swi
我刚刚注意到,当我在第二个屏幕(没有任务栏)上最大化一个框架时,它最终会达到人们预期的边界(如果任务栏在那里)。 我刚刚注意到这一点已经切换到 Windows 7。以前在 Vista 中,我有一个实用
我是一名优秀的程序员,十分优秀!