Это мой пример кода.Я пытаюсь вставить JInternalFrame
без отображения заголовка в JFrame
.
import javax.swing.*;
import javax.swing.plaf.basic.BasicInternalFrameUI;
class A{
public void doThis(){
JFrame fr = new JFrame();
fr.setSize(300,300);
JInternalFrame f = new JInternalFrame();
f.setSize(200,200);
BasicInternalFrameUI ui = (BasicInternalFrameUI) f.getUI();
ui.setNorthPane(null);
f.setVisible(true);
fr.add(f);
fr.setVisible(true);
}
}
class MainA{
public static void main(String a[]){
A obj = new A();
obj.doThis();
}
}
Код работает нормально и отображает JInternalFrame
в пределах JFrame
без заголовка в соответствии с требованиями, как показанониже.
У меня все еще работает этот пользовательский интерфейс, и в то же время, когда я пытаюсь изменить свою тему XP (через Свойства >> Внешний вид >> Тема), пользовательский интерфейс автоматически перерисовывает себячтобы снова показать JInternalFrame
с заголовком, как показано ниже.
Я просто не могу понять это странное поведение.Я понятия не имею, если это проблема с Java Swing или это связано с ОС.Пожалуйста, помогите мне с этим!
Почему пользовательский интерфейс перекрашивается при смене темы с включенным заголовком, когда я явно кодирую для заголовка заголовка, который должен быть установлен как ноль?
PS: используется ОС Windows XP, и я не уверен, еслитакое же поведение наблюдается в Linux или других версиях Windows