2013-07-01 11 views
7

Mam pytanie odnośnie granicy wokół undecorated JDialog pomocą Metal L & F.undecorated JDialog granica

Spójrz na to zdjęcie aby zobaczyć granicę, która jest w tym oknie:

enter image description here

Próbuję dowiedzieć się, jak pozbyć się lub zmienić kolor niebieskiej granicy wokół poza JDialog. Spojrzałem na domyślne ustawienia interfejsu użytkownika dla Look & Feel, ale nie byłem w stanie wymyślić niczego, co działałoby w tym celu.

Ktoś ma pomysły, jak pozbyć się tej granicy?

Dzięki!

+0

Czy moja odpowiedź w was kolejne pytanie http://stackoverflow.com/a/32752359/5370194 on Jesteś ty? – Jun

Odpowiedz

10

trzeba zmienić Border z panelu głównego:

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

można zrobić coś takiego:

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

enter image description here


można spróbować zrobić to w celu zmiany granicy najbardziej outsude:

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

Czy to co chcesz robić?

3

Jeśli chcesz pozbyć się go można użyć

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

Aby zmienić wygląd ono od stylu Java do stylu Windows można użyć

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

To nie robi tego, co chcę. Potrzebuję paska tytułowego, aby pozostać na górze, a także mieć ramkę bez dekoracji. Jedynym sposobem, aby to zrobić, jest użycie wyglądu i stylu metalu. Ustawienie stylu dekoracji okna na none pozbędzie się paska tytułu u góry. – Mark