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