How can I customize the title bar on JFrame?

2019-01-06 18:21发布

问题:

I would like to have a customized title bar in my Java Swing desktop application. What is the best way to do that? I can use a "Swing-title bar" by using the following code in the constructor for my JFrame:

this.setUndecorated(true);
this.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);

But how do I customize it? Is there any UI delegates that I can override or do I have to implement my own title bar from scratch?

I want something like Lawson Smart Office:

回答1:

You can see an example in Substance look-and-feel (mirrored source). Search the code for SubstanceRootPaneUI and SubstanceTitlePane. The implementation depends on other classes in Substance, and will not be easy to reuse outside the specific library - nor is it meant to.



回答2:

Have a look at

is it possible to change titlebar color of JFrame or JInternalFrame