【发布时间】:2011-10-22 15:57:43
【问题描述】:
我正在使用 Net-beans 开发一个小型桌面应用程序。我在此应用程序中使用Jtree。参考以下教程:
http://download.oracle.com/javase/tutorial/uiswing/components/tree.html#display
我想将我的JTree 的外观定制为“Java 外观”(左起第一个图)。我应该如何做到这一点?
【问题讨论】:
我正在使用 Net-beans 开发一个小型桌面应用程序。我在此应用程序中使用Jtree。参考以下教程:
http://download.oracle.com/javase/tutorial/uiswing/components/tree.html#display
我想将我的JTree 的外观定制为“Java 外观”(左起第一个图)。我应该如何做到这一点?
【问题讨论】:
【讨论】:
这是您应该研究的内容:Pluggable look-and-feel architecture:Swing 的可插入外观架构允许我们提供单个组件 API,而无需指定特定的外观。 Swing 工具包提供了一组默认的外观;然而,API 是“开放的”——这种设计还允许开发人员通过扩展现有的外观或从头开始创建一个新的外观实现。
根据@JB Nizet 的建议,如果您希望更改应用程序的 LaF,这可能会有所帮助:Look and Feel in Java
【讨论】:
我使用此功能将 Swing 应用的视图更改为 Windows 外观。
正如我从 swing docs 和 property docs 中提到的那样。
这就是我们使用命令行参数改变外观的方式。
java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel MyApp
java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel MyApp
但是,这就是我们使用以下这些行以编程方式执行的方式。
Properties properties = System.getProperties();
properties.
setProperty("swing.defaultlaf","com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
【讨论】: