为什么在我的Java应用程序中会看到“奇怪”的滚动条?
在我的Java应用程序中,我有一个窗口,在JScrollPane中保存一个JTextArea,其中滚动条策略设置为“按需” 当我运行应用程序时,我看到JTextArea是这样的: 为什么我看到的滚动条上有一个切掉的旋钮,它没有反映出一个标准的表示形式,比如 框架的布局是GridBagLayout,我使用的是Mac OS X 10.8.2,如果需要的话。这是基于您的应用程序所使用的布局,以及Java与本机OS布局组件集成的局限性。你截图中的那个看起来像 Swing应用程序总是自定义呈现外观,并且在任何地方都不能很好地使用本机OS小部件。结果是,您会看到奇怪的外观,可能只是在某些时候与操作系统保持一致,或者仅与某些布局组件保持一致 欢迎使用Java开发跨平台桌面应用程序: 这取决于您的应用程序所使用的布局,以及Java与本机OS布局组件集成的局限性。你截图中的那个看起来像 Swing应用程序总是自定义呈现外观,并且在任何地方都不能很好地使用本机OS小部件。结果是,您会看到奇怪的外观,可能只是在某些时候与操作系统保持一致,或者仅与某些布局组件保持一致为什么在我的Java应用程序中会看到“奇怪”的滚动条?,java,macos,swing,jscrollpane,jscrollbar,Java,Macos,Swing,Jscrollpane,Jscrollbar,在我的Java应用程序中,我有一个窗口,在JScrollPane中保存一个JTextArea,其中滚动条策略设置为“按需” 当我运行应用程序时,我看到JTextArea是这样的: 为什么我看到的滚动条上有一个切掉的旋钮,它没有反映出一个标准的表示形式,比如 框架的布局是GridBagLayout,我使用的是Mac OS X 10.8.2,如果需要的话。这是基于您的应用程序所使用的布局,以及Java与本机OS布局组件集成的局限性。你截图中的那个看起来像 Swing应用程序总是自定义呈现外观,并且
欢迎使用Java开发跨平台桌面应用程序: 您现在使用的是Nimbus LookAndFeel
你和Nimbus LookAndFeel在一起
要在应用程序启动时尝试获得系统外观,可以执行以下操作:
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassname());
} catch (Exception e) {
// Handle exception
}
这会将外观设置为系统的外观,而不管您在哪个系统上运行它
如前所述,应用程序的默认外观是Nimbus,而不是OSX的Aqua,这同样可以通过上面的代码片段修复,如果您愿意为用户提供一个UI选项,以将应用程序的外观更改为用户选择的任何外观。要在应用程序启动时尝试获得系统外观,可以执行以下操作:
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassname());
} catch (Exception e) {
// Handle exception
}
这会将外观设置为系统的外观,而不管您在哪个系统上运行它
如前所述,应用程序的默认外观似乎是Nimbus,而不是OSX的Aqua,这同样可以用上面的代码片段修复,如果您愿意,您可以向用户提供一个UI选项,以将应用程序的外观更改为他们选择的任何外观