26

我正在开发一个使用 Java Swing 的项目。Java Swing GUI 的默认外观非常乏味。有什么方法可以让我使用更好的外观和感觉?网页上的东西...

4

6 回答 6

52

您可以设置外观以反映平台:

try { 
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
    e.printStackTrace();
}

如果这对您来说还不够好,请查看SWT for Eclipse

于 2010-04-07T12:09:05.660 回答
16

查看 Java教程以设置外观。除了那里提到的那些,最近的 Java 6 版本还包括Nimbus 外观和感觉

于 2010-04-07T12:07:08.447 回答
2

Substance 是一个非常可配置的现代 LAF:

https://github.com/kirill-grouchnikov/substance

于 2010-04-08T12:29:52.507 回答
2

如果您对 Photo shop 很满意,您可以将 JFrame 声明为未装饰并创建您自己的图像,该图像将用作您的自定义 GUI。

在此示例中,将 JFrame 称为框架。

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
//If you want full screen enter frame.setExtendedState(JFrame.MAXIMIZE_BOTH);
frame.setUndecorated(true);

现在 JFrame 有自己的边框和自定义 GUI,如果您为最小化、最大化和退出定义了自己的自定义按钮,则需要在按钮上放置一个 JPanel 并声明这些按钮将在动作侦听器函数中执行的操作(哈哈,抱歉...我不知道它是否被称为 c++ 之类的函数或类...)例如,我们将 JPanel 称为面板,我们将设置一个退出按钮。

panel.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
System.exit(JFrame.EXIT_ON_CLOSE);
});
}
于 2014-08-31T16:40:51.987 回答
1

你可以看看这里。我用谷歌搜索了 java swing 主题。

也就是说,如果你正在做一个爱好项目,改变 LAF 是没有问题的。如果您正在为您的伙伴制作软件,这也不是问题。如果您为客户制作软件,请保持 Swing 默认。它运作良好,并不太令人兴奋:)

于 2010-04-07T12:07:54.737 回答
1

另一种选择是塑料外观。它为 Swing 应用程序提供了类似于 XP 的外观,并提供了许多自定义选项。

编辑:我刚刚注意到该页面上的图像已损坏。如果您点击进入JGoodies Looks 页面,您至少会看到 3 个示例,说明您可以使用这些外观完成什么。

于 2010-04-07T12:09:00.027 回答