【问题标题】:Is it possible to change the background of a jspinner using the nimbus laf?是否可以使用 nimbus laf 更改 jspinner 的背景?
【发布时间】:2011-12-14 21:54:09
【问题描述】:

我相当有信心在向您寻求帮助之前已经完成了我的研究,但我可能忽略了一些事情。

我正在使用 Nimbus l-a-f 编写一个 java UI。我希望在状态更改时更改 JSpinner 的背景颜色,即当按下向上或向下按钮时,jspinner 中文本字段的背景颜色会更改颜色以表示值已更改。

我知道这可以使用其他外观,但使用 Nimbus 并不容易,例如: ((JSpinner.NumberEditor)jSpinner1.getEditor()).getTextField().setBackground(color.yellow);

我还研究过实际更改 UI 管理器的颜色主题,但我只想在操作发生时更改颜色,而不仅仅是默认情况下的整体颜色。 herehere

这完全可能吗?我从哪里开始?

如果做不到这一点,我希望只更改按钮的颜色: jButton.setBackground(Color.yellow);

这很简单,但由于默认颜色是绘制的渐变,我该如何将它改回那个?

真的希望有人知道或可以提供帮助。

提前非常感谢!

【问题讨论】:

    标签: java swing background-color nimbus jspinner


    【解决方案1】:

    是的,这是可能的。请参阅 Java 教程 中的 this 示例(即 SpinnerDemo4)了解更多详细信息。是的,我在测试代码时确实将 LaF 设置为 Nimbus。

    【讨论】:

    • 为您的回复干杯。我也尝试过该演示并将 laf 设置为 nimbus,但似乎它所做的只是用 JLabel 替换 JTextfield 组件,删除了我需要的可见数字。所以我修改了代码,以便编辑器改为扩展一个 JTextField,并在 changelistener 中插入一行来更改背景颜色,但数字仍然没有显示。所以我还创建了一个方法来更新要显示的文本,但我仍然需要这个值可以由用户手动编辑,这个过程不做。我不明白为什么 nimbus 忽略 SetBackground
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 2012-01-05
    相关资源
    最近更新 更多