如何删除jinternalframe title bar java上的左侧下拉菜单

时间:2012-12-08 17:45:22

标签: java swing netbeans-7 jinternalframe

  1. 如何仅在jinternal frame Title Bar上删除或隐藏左侧下拉菜单,而不是删除或隐藏整个标题栏。

  2. 如何设置不在jdesktop窗格中通过鼠标按住移动jinternal框架。

  3. 检查下面的快照,以便更好地理解我的问题:

    http://i49.tinypic.com/1zfned2.jpg

2 个答案:

答案 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);
        }

由于

相关问题