2015-07-21 45 views
0

的外观和感觉我使用的是净豆的形式来创建一个小程序。该applet依赖于JFileChooser。如果我将程序编写为应用程序而不是applet,则文件选择器看起来不同。为什么在编写applet或应用程序时,相同的代码会生成不同的文件选择器?另外,如何从applet更改我的文件选择器的外观和感觉,以使其看起来像应用程序中的文件选择器?更改的JFileChooser

申请文件选择:

enter image description here

Applet的文件选择:

enter image description here

+0

你是说这只是文件选择器,它看起来有什么不同? – Holger

+0

@Holger这是正确的 – pmaurais

+0

你有UIManager.setLookAndFeel的'调用()'在你的应用程序?如果在UI的某些部分已经创建时发生这种情况,这些部分看起来会与之后创建的部分看起来不同。你可以调用['updateUI()'](http://docs.oracle.com/javase/8/docs/api/javax/swing/JComponent.html#updateUI--)的组件上,以将其更新到当前外观和感觉。问题是哪部分显示当前的外观和感觉,文件选择器或其他用户界面... – Holger

回答

0

当您在应用程序中调用UIManager.setLookAndFeel(…)时,现有组件不会自动更新,因为没有全部现有组件的全局注册表。因此,这些组件看起来不同于之后创建的组件。您可以在组件上调用updateUI()以将其更新为当前的外观。还有实用方法SwingUtilities.updateComponentTreeUI(…),其将递归地在整个组件树上调用updateUI()

但是总体来说,这是更好地设置所需的外观和尽早的感觉,最好在创建任何组件之前,避免了需要更新现有组件。

0

你应该能够做这样的事情:

SwingUtilities.updateComponentTreeUI(JFileChooser);