简体   繁体   中英

How to hide the default minimize/maximize and close buttons on JFrame window in Java?

I would like to know if it is possible to create a JFrame window which has no default maximize/minimize(-) and close(x) buttons! I have added custom buttons on each frame so that the user does not have to mess around with the default ones on the top right corner of the window!

You can use JWindow because is by default un_decorated, but you can setUndecorated() for JFrame/JDialog

another ways are

Use JFrame.setDefaultLookAndFeelDecorated . It may not be the exact thing you need but doc says,

Provides a hint as to whether or not newly created JFrames should have their Window decorations (such as borders, widgets to close the window, title...) provided by the current look and feel.

Try this code:

JFrame frame = new JFrame("Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(100, 100);
frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
frame.setVisible(true);

This will remove the entire titlebar. Also take a look at this thread .

Otherwise use JWindows .

frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
JFrame.setDefaultCloseOperation(frame.DO_NOTHING_ON_CLOSE);

Will make the 'X' button no functioning. It's works for me.

If you are using Netbean then just unselect the resizable option in properties. It will only disable Minimize/Maximize Button.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM