如何通过Insubstantial正确设置JInternalFrame Titlebar样式

时间:2011-11-09 13:10:46

标签: java swing jinternalframe substance

我在Insubstantial 7.0下遇到了JInternalFrames的问题。我正在使用Eclipse和WindowBuilder for Swing。在Widowbuilder预览中,放到DesktopPane的JInternalFrames有一个漂亮的闪亮标题栏(使用GraphiteGlassSkin)。但是当我启动程序时,所有JInternalFrames的标题栏和客户空间都只是以相同的灰色绘制而没有任何区别。

如何让这些标题栏在运行时闪亮?

致以最诚挚的问候,

大卫

1 个答案:

答案 0 :(得分:1)

在运行时,您可以更改LookAndFeel

1)之后你必须致电SwingUtilities.updateComponentTreeUI( Top-Level Container );

2)如果有一些Backgroung Task你需要将代码包装到invokeAndWait()中,如果不是/不是Backgroung Task那么使用invokeLater()成功}

SwingUtilities.invokeLater(new Runnable() {

    @Override
    public void run() {
        try {
            UIManager.setLookAndFeel(new GraphiteGlassSkinLookAndFeel());
            SwingUtilities.updateComponentTreeUI(frame);
        } catch (UnsupportedLookAndFeelException e) {
            throw new RuntimeException(e);
        }
    }
});