2015-07-21 59 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);