Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何删除内部框架标题栏上的左侧下拉菜单_Java_Swing_Netbeans 7_Jinternalframe - Fatal编程技术网

Java 如何删除内部框架标题栏上的左侧下拉菜单

Java 如何删除内部框架标题栏上的左侧下拉菜单,java,swing,netbeans-7,jinternalframe,Java,Swing,Netbeans 7,Jinternalframe,如何仅删除或隐藏内部框架标题栏上的左侧下拉菜单,而不删除或隐藏整个标题栏 如何在jdesktop窗格中按住鼠标设置不移动内部框架 查看下面的快照,以便更好地了解我的问题我想要什么: 据我所知,唯一的方法是对内部框架使用您自己的UI委托。有关解释UI委托如何工作的文章,请参阅 由于您似乎使用了Synth look n’feel,因此您应该能够轻松创建自己的SynthInternalFrameUI子类,该子类将覆盖createNorthPane()方法,以便创建并返回SynthInternalFra

如何仅删除或隐藏内部框架标题栏上的左侧下拉菜单,而不删除或隐藏整个标题栏

  • 如何在jdesktop窗格中按住鼠标设置不移动内部框架

  • 查看下面的快照,以便更好地了解我的问题我想要什么:


    据我所知,唯一的方法是对内部框架使用您自己的UI委托。有关解释UI委托如何工作的文章,请参阅

    由于您似乎使用了Synth look n’feel,因此您应该能够轻松创建自己的
    SynthInternalFrameUI
    子类,该子类将覆盖
    createNorthPane()
    方法,以便创建并返回
    SynthInternalFrameTitlePane
    的自定义子类的实例


    此自定义标题窗格将依次覆盖
    addSubComponents()
    方法,以避免添加
    菜单按钮。我还没有测试所有这些,所以可能需要覆盖其他方法。

    1。如何仅在内部框架标题栏上删除或隐藏左侧下拉菜单,而不删除或隐藏整个标题栏源代码:

    BasicInternalFrameUI ui = (BasicInternalFrameUI)internalFrame.getUI();
    Container north = (Container)ui.getNorthPane();
    north.remove(0);
    north.validate();
    north.repaint();
    
     for(MouseListener listener : ((javax.swing.plaf.basic.BasicInternalFrameUI) internalFrame.getUI()).getNorthPane().getMouseListeners()){
            ((javax.swing.plaf.basic.BasicInternalFrameUI) internalFrame.getUI()).getNorthPane().removeMouseListener(listener);
            }
    
    2.如何通过在jdesktop窗格中按住鼠标来设置不移动内部框架源代码:

    BasicInternalFrameUI ui = (BasicInternalFrameUI)internalFrame.getUI();
    Container north = (Container)ui.getNorthPane();
    north.remove(0);
    north.validate();
    north.repaint();
    
     for(MouseListener listener : ((javax.swing.plaf.basic.BasicInternalFrameUI) internalFrame.getUI()).getNorthPane().getMouseListeners()){
            ((javax.swing.plaf.basic.BasicInternalFrameUI) internalFrame.getUI()).getNorthPane().removeMouseListener(listener);
            }
    

    谢谢

    谢谢您的帮助…..下拉菜单已删除,但现在我如何通过按住鼠标单击在桌面窗格中设置取消移动的内部框架?我不明白您想做什么。你想让内部框架无法移动吗?如果是这样,您可能需要进一步自定义UI委托。请看添加侦听器的源代码。对不起,我的英语很差……我想知道如何在桌面窗格中将unmobile设置为JInternalFrame?表示停止在桌面窗格中移动JInternalFrame…如果JInternalFrame位于JDesktopPane中,您可以尝试将该JDesktopPane设置为使用您自己的DesktopManager,该DesktopManager将所有方法委托给JDesktopPane的默认DesktopManager,除了
    BegindRagingFrame
    dragFrame
    endDraggingFrame