JInternalFrame装饰

时间:2012-07-29 08:55:18

标签: java swing jinternalframe

Internal frame Decoration

我想知道,有没有办法将我的内部框架装饰设置为普通窗口装饰,而不是看起来像上面链接中的图像?非常感谢你。

1 个答案:

答案 0 :(得分:2)

我不会说。内部框架装饰由外观和外观提供。感觉,JFrame& JDialog从操作系统中获取装饰。

话虽如此,有一些Look&感觉自己提供自定义装饰(到顶级窗口)。

例如,

Metal具有以下UI属性:

RootPane.colorChooserDialogBorder = javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder@182d9c06
RootPane.errorDialogBorder = javax.swing.plaf.metal.MetalBorders$ErrorDialogBorder@63b9240e
RootPane.fileChooserDialogBorder = javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder@687b6889
RootPane.informationDialogBorder = javax.swing.plaf.metal.MetalBorders$DialogBorder@7e0c2ff5
RootPane.plainDialogBorder = javax.swing.plaf.metal.MetalBorders$DialogBorder@5a5e5a50
RootPane.questionDialogBorder = javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder@95c083
RootPane.warningDialogBorder = javax.swing.plaf.metal.MetalBorders$WarningDialogBorder@61b383e9

使用这些,你应该可以交换内部框架的边框。

但是在默认的系统外观下,Windows RootPane只提供以下属性......

RootPane.ancestorInputMap = javax.swing.plaf.InputMapUIResource@4ba33d48
RootPane.defaultButtonWindowKeyBindings = [Ljava.lang.Object;@1cc7b00c
RootPaneUI = com.sun.java.swing.plaf.windows.WindowsRootPaneUI

现在......可能会有使用JNI让它工作,但我怀疑因为Swing使用了一个轻量级的绘画过程,它只会在一团糟中结束。