如何刪除或隱藏左側下拉菜單僅在jinternal框架標題欄,而不是刪除或隱藏整個標題欄。如何刪除左側下拉菜單上的jinternal框架標題欄java
如何設置不要通過鼠標在jdesktop窗格中移動jinternal框架。
檢查以下快照更好地理解我的問題,我想:
http://i49.tinypic.com/1zfned2.jpg
如何刪除或隱藏左側下拉菜單僅在jinternal框架標題欄,而不是刪除或隱藏整個標題欄。如何刪除左側下拉菜單上的jinternal框架標題欄java
如何設置不要通過鼠標在jdesktop窗格中移動jinternal框架。
檢查以下快照更好地理解我的問題,我想:
http://i49.tinypic.com/1zfned2.jpg
據我所知,唯一的辦法就是用自己的UI委託的內部框架。有關一篇文章解釋了UI代表的工作方式,請參閱http://today.java.net/pub/a/today/2007/02/22/how-to-write-custom-swing-component.html。
因爲你似乎使用Synth外觀N」的感覺,你應該能夠輕鬆地創建自己的SynthInternalFrameUI
子類,這將覆蓋createNorthPane()
方法,以創建並返回的SynthInternalFrameTitlePane
定製子類的實例。
此自定義標題窗格將依次覆蓋addSubComponents()
方法以便不添加menuButton
。我沒有測試過所有這些,所以也許你需要重寫其他方法。
1.如何刪除或隱藏左側下拉菜單僅在jinternal框架標題欄上,而不是刪除或隱藏整個標題欄。 源代碼:
BasicInternalFrameUI ui = (BasicInternalFrameUI)internalFrame.getUI();
Container north = (Container)ui.getNorthPane();
north.remove(0);
north.validate();
north.repaint();
2.如何設置不通過鼠標保持在JDesktop中窗格移動jinternal幀。 源代碼:
for(MouseListener listener : ((javax.swing.plaf.basic.BasicInternalFrameUI) internalFrame.getUI()).getNorthPane().getMouseListeners()){
((javax.swing.plaf.basic.BasicInternalFrameUI) internalFrame.getUI()).getNorthPane().removeMouseListener(listener);
}
感謝
感謝您的幫助.....下拉菜單中刪除,但現在我怎麼可以設置通過按住鼠標單擊取消movalbe在桌面窗格中的jinternal框架? –
我不明白你想要做什麼。你想讓內部框架無法移動?如果是這樣,您可能需要進一步自定義UI委託。查看添加偵聽器的源代碼。 –
對不起我弱的英語....我想如何設置爲不可移動到桌面窗格中的JInternalFrame?意味着停止在桌面窗格中移動jinternal框架... –