在这句this.getContentPane().add(tb,BorderLayout.NORTH);之前加
 tb.setFloatable(false);看看!

解决方案 »

  1.   

    this.setSize(640,512);
      JToolBar tb=new JToolBar();
      tb.add(new JButton("One"));
      tb.add(new JButton("Two"));
      tb.add(new JButton("Three"));
      this.getContentPane().add(tb,BorderLayout.NORTH);  JPanel p1=new JPanel();
      p1.setBackground(Color.gray);
      p1.setBorder(BorderFactory.createLineBorder(Color.red));
      this.getContentPane().add(p1,BorderLayout.CENTER);
      

  2.   

    你还不如用个JDialog来装ToolBar
      

  3.   

    这个问题我也在查,希望尽快有个结果!
    本来我想用:
    Window win =  SwingUtilities.windowForComponent(new JToolBar());
    if( win != null ){
    win.show();
    win.setVisible(true);
    }
    但是这种只能在JToolBar浮动的时候才不返回null
      

  4.   

    能不能不用JToolBar,用别的模拟,我感觉更像是个独立的窗口
      

  5.   

    同意楼上的说法!但不清楚具体该如何实现。
    我找到一个实现方法,但是有个BUG,这个工具条不能总显示在最前面!
    BasicToolBarUI ui = (BasicToolBarUI) jToolBar1.getUI();
            if (!ui.isFloating())
            {
                ui.setFloatingLocation(100, 100);
                ui.setFloating(true, jToolBar1.getLocation());
            }
    大家继续探讨!关注中
      

  6.   

    this.getContentPane().add(tb,BorderLayout.NORTH);
    改为
    this.getContentPane().add(tb,BorderLayout.CENTER);
      

  7.   

    自己动手丰衣足食,用JDialog吧