1

在我的 Java 应用程序中,我有一个窗口,它在 JScrollPane 中保存一个 JTextArea,滚动条策略设置为AS_NEEDED.

当我运行我的应用程序时,我以这种方式看到 JTextArea: JTextArea 与

为什么我看到带有那个切去旋钮的滚动条(它不反映像这样的“标准”表示)?

框架的布局是GridBagLayout,我在 Mac OS X 10.8.2 上,如果有的话。

4

3 回答 3

4

这是基于您的应用程序使用的外观和感觉,以及 Java 与本机操作系统布局组件集成的限制。您屏幕截图中的那个看起来像Nimbus

Swing 应用程序总是自定义渲染外观和感觉,并且不能很好地在任何地方使用本机操作系统小部件。结果是您会得到奇怪的外观,可能仅在某些时候与操作系统一致,或者仅与某些布局组件一致。

欢迎使用 Java 开发跨平台桌面应用程序。:(

于 2012-12-05T16:06:54.573 回答
4

要尝试在您的应用程序启动时获得系统外观和感觉,您可以执行以下操作:

try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassname());
} catch (Exception e) {
    // Handle exception
}

这将设置系统的外观和感觉,无论您在什么上运行它。

如前所述,您的应用程序的默认外观和感觉似乎是 Nimbus 而不是 OSX 的 Aqua,这再次可以通过上面的代码片段进行修复,您可以(如果您愿意)为用户提供一个 UI 选项来更改外观和他们选择的任何应用程序的感觉。

于 2012-12-05T16:09:54.243 回答
1

您与 Nimbus LookAndFeel 在一起

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

于 2012-12-05T16:07:01.270 回答