Undecorated JDialog border

2019-04-07 01:32发布

问题:

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:

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!

回答1:

You need to change the Border of the root pane:

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


回答2:

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());


回答3:

You can do something like this:

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


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?