请问JPanel上添加glassPane怎么添加呢?一般只有JFrame和JDialog上添加。 我想在jpanel上添加想实现用户操作后在jframe局部的jpanel上进行对局部面板的锁定。就像某些网站的登录。或者页面加载的时候出现进度条或者图片或者其他的示。以提示用户此时程序正在响应用户的操作。需要等待几秒。

解决方案 »

  1.   

    貌似只能在JFrame和JDialog上添加glassPane
      

  2.   

    期待楼下回复
    很想实现这样一个功能。在jpanel中有控件。当用户操作时。程序将锁定jpanel。(将除了该控件之外的jpanel全部锁了。)期待大家能给点思绪?
      

  3.   

    只在JFrame上加过。。
      
    InfiniteProgressPanel $glassPane = new InfiniteProgressPanel();  private void initGui() {
        $contentPane = (JPanel)this.getContentPane();
        this.setTitle("Visualizer  v1.0");    $taskPanel = new TaskPanel(this);    $taskPanel.setMinimumSize(new Dimension(200, 200)); //200
        $taskPanel.setMaximumSize(new Dimension(200, 200));
        $taskPanel.setPreferredSize(new Dimension(200, 200));
        $contentManager = new ContentManager($taskPanel);    $statusBar = new JLabel("");    $contentPane.add($taskPanel, BorderLayout.WEST);
        $contentPane.add($statusBar, BorderLayout.SOUTH);
        $contentPane.add($contentManager.getContentPanel());
        this.setGlassPane($glassPane);

      }
      

  4.   

    锁了。比方说我在GOOGLE搜索的时候搜索到了CSDN的贴。然后我想进行回复操作。没有登录的时候将提示我要登录。点登录的连接出来一个登录框。登录框后面都被锁了。大概就是类似这样的吧?也许我语言表达的不是很清楚。再来个比方。我用MINI迅雷下载的时候。点某个网页的某个下载连接。就在下载连接那里弹出MINI迅雷的框提示保存路径。确定下载等信息。后面的网页就都变‘黑’了。类似锁了屏。
      

  5.   

    谢谢5楼的支持。
      jframe.jdialog的我都已经实现了。但那都是整个jfame,jdialog面板的。我就是想在局部的jpanel中实现类似添加glassPane(“锁”)的功能。这样就可以对用户的操作进行提示了。
       或者。QQ空间发日志的时候。点发表按钮的时候 网页中间出现 一个小框。进行提示。正在提交。
      

  6.   

    我大概明白了你的意思 你说的应该是模态的概念
    你按我说的意思做一下 看是不是你要的效果
    新建一个JFrame,取名为f
    在JFrame上添加一个按钮,取名b
    然后点击b的时候,弹出一个JDialog,取名d
    然后d的构造方法这样写
    public D(JFrame f){
        super(f,true);
    }
    这样当你弹出d之后,d就是模态的,其他的地方都是不能点击的,不知道是不是你要的效果