处理事件的AWT / Swing中使用的设计模式的名称是什么?

时间:2009-08-21 17:25:37

标签: java swing

我听说有两种方法可以在Swing中设置PLAF。 PLAF的真正含义是什么?这两种方式是什么?

3 个答案:

答案 0 :(得分:2)

Observer Pattern

  

此模式的一些最值得注意的实现:

     
      
  • Java Swing库广泛使用了观察者模式   用于活动管理。
  •   

答案 1 :(得分:2)

要回答标题中的问题:Observer是Swing使用的设计模式。

PLAF是' P luggable L ook A nd F eel'。 Here is a reference用于Java中的PLAF。

关于事件监听器和PLAF的标题不相关。前者与事件的处理有关 - 与MVC中的 C 更密切相关,而后者通常与MVC的 V 方面相关联。

答案 2 :(得分:1)

PLAF =可插拔的外观和感觉。基本上,相同的UI可以使用不同的皮肤,只需要很少的工作。

查看this site以获取L& F的详细说明。简而言之,实际上有3种方法可以设置你的PLAF。

1)通过命令行: java -Dswing.defaultlaf = com.sun.java.swing.plaf.gtk.GTKLookAndFeel MyApp 要么 java -Dswing.defaultlaf = com.sun.java.swing.plaf.windows.WindowsLookAndFeel MyApp

2)通过java lib中的swing.properties文件。 swing.defaultlaf = com.sun.java.swing.plaf.windows.WindowsLookAndFeel

3)以编程方式使用:

//At the beginning of your program
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
//Another option
UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
//And another
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

//Or during your program - 
UIManager.setLookAndFeel(lnfName);
SwingUtilities.updateComponentTreeUI(frame);
frame.pack();

上面的链接还有代码示例,用于演示如何更改外观。

希望有所帮助!