Can I use two different look and feels in the same Swing application?

前端 未结 3 507
渐次进展
渐次进展 2020-12-09 12:57

I\'m using the Flamingo ribbon and the Substance Office 2007 look and feel.

Of course now every control has this look and feel, even those on dialog

相关标签:
3条回答
  • 2020-12-09 13:29

    I just discovered: Since Substance 5.0 the SKIN_PROPERTY is available.

    It allows assigning different skins to different JRootPanes (i.e. JDialog, JFrame, JInternalFrame)

    A little trick: I override JInternalFrame to remove the extra border and the title pane so that it looks just like a borderless panel. That way it is possible to create the impression, that different parts of a form/dialog have different looks.

    0 讨论(0)
  • 2020-12-09 13:32

    Swing unfortunately does lots of "psuedo-global" things behind the scenes. AFAIK, the only way to do it consistently is to use the private AppContext API. Each AppContext has its own event dispatch thread and other "psuedo-globals".

    0 讨论(0)
  • 2020-12-09 13:51

    Here is a library which will automaticaly change the look and feel. I am not sure it this will done for every component in a different way, but you should take a look at it. pbjar.org

    This book should be useful if you want to go deep into look and feel /java-look-and-feel-design-guidelines-second-edition

    I would be glad to see some code example, if someone can write it, feel free to get starting.

    EDIT:

    In this forum thread Thread i found the following description

    Swing uses a Look & Feel (a PLAF). PLAFs aren't attached on a per-JFrame level. They are attached on a per-VM level. It is almost impossible to mix PLAFs within one application. I have seen a few attempts, all failed.

    0 讨论(0)
提交回复
热议问题