如何在JFrame标题栏中添加任何组件

3
如何在java swing中将任何组件(如JButton)添加到JFrame的标题栏。
1个回答

4
我假设你所说的“标题栏”是指带有窗口菜单按钮、文档或程序标题以及(通常)最大化、最小化和关闭按钮的头部。
窗口边框是由操作系统绘制的(无论是哪个部分,比如使用 X Server 时通常是窗口管理器)-通常是这样。而且这就是用户想要的-通常是这样的。那么窗口的这一部分超出了 Swing 的范围,您需要通过本地代码(JNI 或其更好的包装器之一,例如 JNA)添加组件。
但是您可以通过 setUndecorated 将 Frame 设置为无装饰。这将使整个窗口区域由您负责,您必须自己绘制所有内容并注意诸如窗口的可拖动性之类的细节。想象一下完全“定制”的应用程序。如果您使用的外观支持绘制窗口边框(javax.swing.LookAndFeel#getSupportsWindowDecorations()),则无需自行完成此操作,而是设置 JFrame.setDefaultLookAndFeelDecorated(),外观将使用 Swing 组件绘制边框。然后,您可以通过 glasspane 或更改绘制标题栏的组件来添加 Swing 组件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接