Undecorated JDialog border
Asked Answered
S

3

8

I have a question regarding the border around an undecorated JDialog using the Metal L&F.

Look at this picture to see the border that is on this window:

enter image description here

I'm trying to figure out how to either get rid of or change the color of the blue border around the very outside of the JDialog. I looked at the UI defaults for the Look & Feel but I wasn't able to come up with any that worked for this.

Does anybody have any ideas on how to get rid of that border?

Thanks!

Suggestion answered 1/7, 2013 at 21:2 Comment(1)
Can my answer in you another question https://mcmap.net/q/1323490/-color-of-joptionpane-border help you?Obliging
B
12

You need to change the Border of the root pane:

getRootPane().
   setBorder( BorderFactory.createLineBorder(Color.RED) );
Bellamy answered 1/7, 2013 at 22:20 Comment(0)
N
5

If you want to get rid of it you can use

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

To change the look of it from the Java style to the windows style you can use

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Neall answered 1/7, 2013 at 21:21 Comment(1)
This does not do what I want it to. I need the title bar to stay at the top while also having the frame undecorated. The only way to do this is to use the metal look & feel. Setting the window decoration style to none gets rid of the title bar at the top.Suggestion
W
2

You can do something like this:

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

enter image description here


You can try to do this in order to change the most outsude border:

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

Is this what you want to do?

Weatherley answered 1/7, 2013 at 21:9 Comment(1)
getRootPane() is inside border - author pointed for outside border of undecorated JDialogAce

© 2022 - 2024 — McMap. All rights reserved.