如何仅在jinternal frame Title Bar上删除或隐藏左侧下拉菜单,而不是删除或隐藏整个标题栏。
如何设置不在jdesktop窗格中通过鼠标按住移动jinternal框架。
检查下面的快照,以便更好地理解我的问题:
答案 0 :(得分:1)
据我所知,唯一的方法是使用自己的UI委托作为内部框架。有关解释UI代表如何工作的文章,请参阅http://today.java.net/pub/a/today/2007/02/22/how-to-write-custom-swing-component.html。
由于您似乎使用了Synth外观,您应该能够轻松创建自己的SynthInternalFrameUI
子类,它将覆盖createNorthPane()
方法以创建和返回实例SynthInternalFrameTitlePane
的自定义子类。
此自定义标题窗格将依次覆盖addSubComponents()
方法,以便不添加menuButton
。我没有测试过所有这些,所以也许你需要覆盖其他方法。
答案 1 :(得分:0)
1。如何仅在jinternal frame Title Bar上删除或隐藏左侧下拉菜单,而不是删除或隐藏整个标题栏。 源代码:
BasicInternalFrameUI ui = (BasicInternalFrameUI)internalFrame.getUI();
Container north = (Container)ui.getNorthPane();
north.remove(0);
north.validate();
north.repaint();
2. 如何设置not在jdesktop窗格中通过鼠标按住移动jinternal框架。 源代码:
for(MouseListener listener : ((javax.swing.plaf.basic.BasicInternalFrameUI) internalFrame.getUI()).getNorthPane().getMouseListeners()){
((javax.swing.plaf.basic.BasicInternalFrameUI) internalFrame.getUI()).getNorthPane().removeMouseListener(listener);
}
由于