Я понимаю, это звучит много, как и многие из уже заданных вопросов, но, пожалуйста, прочитайте; это похоже на аналогичную проблему, но не работает со многими уже предоставленными решениями.Изменить отключенный передний план JButton (шрифт) Цвет для Windows
В настоящее время я пишу на Java с Eclipse как на OS X, так и на Windows. С OS X у меня есть JButton, который идет от .setEnabled (true) до .setEnabled (false). Когда это происходит, когда он отключается, я меняю цвет фона через .setBackground (someColor). Все это время, цвет переднего плана (шрифта) не изменяется и остается черным. Это то, чего я хочу, это прекрасно, как есть.
В таком случае возникает проблема с Windows. То же, что и выше, у меня есть JButton, который идет от .setEnabled (true) к .setEnabled (false). Я также меняю свой фон через .setBackground (someColor). Однако, когда это происходит, цвет переднего плана (шрифта) не остается постоянным - он изменяется от черного до светло-серого. Это крайне неудобно и очень сложно читать с новым цветом фона.
Так что вопрос: Как изменить цвет переднего плана отключенного JButton?
Я уже пробовал следующее:
button.setForeground(Color.BLACK);
button.setText(<html><font color = black>BUTTON</font></html>);
UIManager.put("Button.disabledText", Color.BLACK);
UIManager.getDefaults().put("Button.disabledText", Color.BLACK);
UIManager.put("Button.foreground", Color.BLACK);
UIManager.getDefaults().put("Button.foreground", Color.BLACK);
Ни один из них не работал. И я также пробовал следующее:
- Экспорт ОС X в файл .jar, а затем его использование в Windows. Цвет шрифта Windows по-прежнему изменяется.
- Компиляция файла .app для ОС X и файла .exe для Windows. Проблема все еще остается.
Есть ли еще какое-то другое решение, которое я забыл?
В настоящее время я прибегал к тому, чтобы оставить шрифт в качестве неприглядного серого в настоящее время и изменить фон (который по какой-то причине все еще можно легко изменить через .setBackground()) на другие цвета, которые могут разместите его.
Так почему же разница в цвете между OS X и Windows? Я предпочитаю цветовую схему OS X, но я действительно не хочу иметь 2 набора кода для того, что по сути является одной и той же программой.
Что мне делать?
Настройка цвета BG кнопок кажется очень плохая идея (1), если это не проектирование PLAF.Сказав это, чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/). 1) * «Я предпочитаю цветовую схему OS X» * Если ваши пользователи предпочли цветовую схему OS X, они, вероятно, будут * использовать * OS X! –
Можете ли вы дать ясный цвет, который вы хотите иметь. И PLS SSCCE – Hydroid
Почему вы не используете 'JToggleButton' вместо этого? – Azad