2012-03-08 63 views

回答

3

我假设你通过窗口菜单按钮,文档或程序标题和按钮(标准)来最大化,最小化,关闭“标题栏”。

窗口边框由操作系统绘制(无论哪个部分,例如使用XServer,大多数情况下它将成为窗口管理器) - 通常。这就是用户想要的 - 通常。然后,这部分窗口不在Swing的范围之内,您需要通过本地代码(JNI或其更好的包装器之一,如JNA)添加组件。

但您可以将Frame设置为未修饰,通过setUndecorated。这会让整个窗口区域担负起责任,您必须自己绘制所有内容并关心窗口的可拖动性。想想一个完全“皮肤”的应用程序。如果您使用的外观支持绘制窗口边框(javax.swing.LookAndFeel#getSupportsWindowDecorations()),则不必自己执行此操作,而是设置JFrame.setDefaultLookAndFeelDecorated(),LookAndFeel将使用Swing组件绘制边框。然后,您可以通过glasspane或通过更改绘制标题栏的组件来添加Swing组件。

+0

+1,用于很好地包装有效信息。 – 2012-03-08 10:01:14