2

我不知道如何更改我在 NetBeans 平台框架上构建的应用程序的 LookAndFeel,有人可以帮忙吗?我想使用 TinyLAF java api http://www.muntjak.de/hans/java/tinylaf/index.html改变它的外观。我知道在 NetBeans IDE 中开发常规 Swing 应用程序时如何更改 LookAndFeel,但在 NetBeans 平台框架上开发时不知道。

这是我用于常规 Swing 应用程序的 TinyLAF 代码:

Toolkit.getDefaultToolkit().setDynamicLayout(true);
System.setProperty("sun.awt.noerasebackground", "true");
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);

try {
    UIManager.setLookAndFeel("de.muntjak.tinylookandfeel.TinyLookAndFeel");
} catch(Exception ex) {
    ex.printStackTrace();
}

TinyLaF 查找名为“Default.theme”(区分大小写)的默认主题文件。如果它找到一个,这个文件将在启动时加载。('Default.theme' 文件是一个普通的 TinyLaF .theme 文件,只是有一个特殊的名称,你可以把任何 .theme 文件重命名为 'Default.theme')。

TinyLaF 将搜索以下 URL:

  1. TinyLookAndFeel.class.getResource("/Default.theme");
    • 如果它在 tinylaf.jar 中,则找到“Default.theme”
  2. Thread.currentThread().getContextClassLoader().getResource("Default.theme");
    • 如果它在您的应用程序的 JAR 中,则找到“Default.theme”
  3. new File(System.getProperty("user.home"), "Default.theme").toURI().toURL();
    • 如果它位于主目录中,则查找“Default.theme”
  4. new File(System.getProperty("user.dir"), "Default.theme").toURI().toURL();
    • 如果它在工作目录中,则找到“Default.theme”

请注意,我的问题不是如何更改 NetBeans IDE 的 LookAndFeel,而是如何为构建在 NetBeans 平台框架之上的 Java 应用程序进行更改。

4

3 回答 3

2

我在网上找到了以下内容:您需要在“安装程序”模块中进行。检查此链接以了解您需要添加的位置:http: //joshiegeek.blogspot.co.il/2012/01/netbeans-platform-custom-laf.html

这个有实际的代码示例(请忽略标题:)):http ://forums.netbeans.org/topic39450.html

最后,这个人谈到了一个特定的 plaf,但一路上几乎没有评论:https ://blogs.oracle.com/geertjan/entry/blue_look_and_feel_for

于 2012-07-24T18:45:26.943 回答
1

1.你可以很容易地改变 Swing 的外观和感觉,因为它基于MVC 架构

2. Swing 也称为PLAF (Pluggable Look And Feel),所以保持相同的 Model 部分并更改 View,例如桌面和 Web 应用程序的相同模型。

3.使用

UIManager.setLookAndFeel(Your_Choice_of_Look_and_Feel);  // To set the Look and Feel
SwingUtilities.updateComponentTreeUI(frame);        // To refresh the JFrame and Components

有关更多详细信息,请参见:

http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

于 2012-07-24T18:31:18.747 回答
0

必须找到早先关于waybackmachine的帖子中提到的第一个链接......

答案是添加运行时参数或将其放入 project.properties 文件中。添加的行(例如金属)是

run.args.extra=--laf javax.swing.plaf.metal.MetalLookAndFeel
于 2018-03-24T10:44:16.230 回答