2012-04-27 18 views
0

JInternalFramesを追加するJDesktopPaneがあります。 Linux(ubuntu)とMac OSでは、表示されているすべての内部フレームが左下隅にあるタスクバー/ツールバーに表示され、各内部フレームの名前はラベルとして表示されます。このツールバーはWindowsでは表示されませんが、これは私が期待する動作です。JDesktopPaneには、Linuxのウィンドウの下部にツールバーがあります

enter image description here

誰がこのツールバーをdesactivateする方法を知っていますか?

私は内部フレームをこのように設定しています:

frame.setResizable(false); 
frame.setClosable(false); 
frame.setMaximizable(false); 
frame.setIconifiable(false); 

そして追加JLayeredPane.PALETTE_LAYER

答えて

0

てみてくださいに追加する:

frame.setIcon (false); 

これが示されるフレームを強制します。

Ubuntu/Macでは、これらのフレームがデフォルトでアイコン化されている可能性があります。そのため、JDesktopPaneの角に表示されるのはこのためです。

+1

残念ながら、内部フレームをデスクトップペインに追加する前または後にsetIcon(false)を呼び出すと、何も変更されません。 – Martin

3

これを試してみてください:

UIManager.put("DesktopPaneUI","javax.swing.plaf.basic.BasicDesktopPaneUI"); 
2

がそれらを作成した後、あなたのJDesktopPanesにremoveAll()を試してみてください。

+0

hmm ...フレームが追加されると直感的に聞こえます;-) – kleopatra

+0

ええ、私は知っていますが、フレームを追加する前にその厄介なバーが外に出ていなければなりません。 – pamo

0

これは私の場合で働いていた:

UIManager.put("InternalFrame.useTaskBar", Boolean.FALSE); 

それは全体のUIクラスを交換するよりも「低侵襲性」であるべきであり、あなたが見えるように変更して感じた場合は、ツールバーのプロパティを表示しないようすべきです単に無視してください

関連する問題