Я пытаюсь сгладить некоторые ошибки отображения пользовательского интерфейса в моем java-апплете в OS X, и я ударил тот, который я не могу понять.java.awt.Frame.setBackground() не работает в OS X
Все окна, которые мы открываем, расширяют java.awt.Frame, кажется, игнорируют вызовы setBackground(), а вместо этого используют OS X по умолчанию (матовый металл или серый градиент, в зависимости от версии ОС). Все, что мы открываем, что расширяет Dialog, отлично работает.
Я пробовал переопределить метод paint() и рисовать цвет фона там. Однако это только частично работает. В некоторых местах фон заканчивается как правильный цвет, но все дочерние компоненты Frame по-прежнему рисуют фон OS X, а не тот, который я установил, и теперь это выглядит еще хуже. Те же самые типы компонентов (Panel, Checkbox и т. Д.) Используются в нескольких диалоговых окнах, расширяющих диалоговое окно, и они отлично работают там, поэтому я предполагаю, что в кадре должно быть что-то с фреймом.
Есть ли способ установить цвет фона для фрейма, который работает в OS X? Кто-нибудь еще видел это раньше?
Обратите внимание, что я застрял в кодировании спецификации Java 1.1, так как мне требуется поддержка JVM Microsoft (не заставляйте меня начинать ...).
Свинг пробежал 1.1, не так ли? –
Свинг не существовал, по крайней мере, до 1.2. Я не могу его использовать, и сейчас переписывание пользовательского интерфейса, как и в любом случае, не может быть и речи. – Herms
Свинг не был частью 1.1, но был доступен для него. По большей части преобразование с AWT в Swing - это операция поиска и замены. –