我有这个小问题。我正在使用 Netbeans。当我单击 Preview Design 时,我会看到这样的 jSeparators:
但是当我运行这个项目时,它是这样的:
我该如何解决这个问题?我希望项目看起来像预览设计。
谢谢!
我有这个小问题。我正在使用 Netbeans。当我单击 Preview Design 时,我会看到这样的 jSeparators:
但是当我运行这个项目时,它是这样的:
我该如何解决这个问题?我希望项目看起来像预览设计。
谢谢!
当您在 Preview Design 中运行窗口 ( JFrame
, JDialog
)/组件 ( JPanel
) 时,它会使用系统外观显示,但是当您运行应用程序时,UIManager默认使用跨平台 L&F,也称为Metal
L&F。
我希望项目看起来像预览设计。
见相关:
这是反对使用 GUI 构建器的论据之一。您将使用预览设计来布置所有组件以排列所有组件。假设您使用 Windows,现在您将外观设置为系统 L&F,因此在您的计算机中,您的应用程序可以完美运行和显示:
public static void main(Strin[] args) {
...
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
...
}
太棒了,它有效!现在假设您的一个朋友喜欢您的应用程序,并且您与您的朋友分享它。事实证明你的伙伴使用的是 Linux 或 Mac……然后系统的外观和感觉将不再是 Windows,GUI 可能看起来很糟糕。例如考虑这篇文章:不同的外观 beetwen Preview and Runview您可以在第二张图片中看到最后一行组件被切成两半。
发生这种情况是因为NetBeans GUI 构建器使用的布局管理器是GroupLayout,它被设计为与 GUI 构建器一起使用,并且它可能是一个非常痛苦的屁股(对不起表达,但它是真的)使它在不同的比你的平台。
根据我的经验,我曾将 builder 用于几个小项目,旨在在同一个平台上运行,但当我真的不得不开发一个跨平台应用程序时,它变成了一场噩梦。所以我强烈建议您忘记 GUI 构建器并手动编写您的 GUI。
请参阅NetBeans 中的 GroupLayout 自动生成的代码。有一个非常好的布局管理器列表,可以让您的生活更轻松,并且您的应用程序 UI 真正跨平台,就像任何 Java 应用程序一样。