2013-07-01 1 views
7

У меня есть вопрос, касающийся границы вокруг непараметризованный JDialog с использованием металла L & F.недекорированного JDialog граница

Посмотрите на эту картину, чтобы увидеть границу, которая находится на этом окне:

enter image description here

Я пытаюсь выяснить, как либо избавиться, либо изменить цвет синей границы вокруг самой внешней части JDialog. Я просмотрел настройки пользовательского интерфейса для Look & Feel, но я не смог придумать все, что сработало для этого.

У кого-нибудь есть идеи, как избавиться от этой границы?

Спасибо!

+0

Может мой ответ в вас другой вопрос http://stackoverflow.com/a/32752359/5370194 он Вы? – Jun

ответ

10

Вы должны изменить Border корневой панели:

getRootPane(). 
    setBorder(BorderFactory.createLineBorder(Color.RED)); 
3

Вы можете сделать что-то вроде этого:

((JPanel)getContentPane()).setBorder(BorderFactory.createLineBorder(Color.BLUE)); 

enter image description here


Вы можете попробовать сделать это для того, чтобы изменить наиболее outsude границу:

getRootPane().setBorder(BorderFactory.createLineBorder(Color.BLUE)); 

Это что ты хочешь делать?

3

Если вы хотите, чтобы избавиться от него, вы можете использовать

frame.setUndecorated(true); 
frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE); 

Чтобы изменить внешний вид его из стиля Java в стиле окна можно использовать

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
+0

Это не делает то, что я хочу. Мне нужна строка заголовка, чтобы оставаться наверху, а также без рамки. Единственный способ сделать это - использовать металлический внешний вид. Настройка стиля оформления окна ничем не избавляет от строки заголовка вверху. – Mark