各位好,目前的情况是:一个JPanel 加了一个 JTabbedPane, 然后我想在上图中绿色区域添加一个组件,比方说JButton。
如果jtabbedpane.add("first",jpanel1); 这样还是添加了一个tab,我想要实现的是在这些tab的下面(也就是绿色框内),添加组件。各位有什么办法么?

解决方案 »

  1.   

    选项卡就是让你一个个添加组件的啊。你要添加什么继续addTab就可以了啊
      

  2.   

    我想在tab下面区域添加东西啊?
      

  3.   

    那你可以把界面分上下两块上面是JTabbedPane下面用另一个panel
      

  4.   

    自己写一个布局,别用JTabbedPanel不就行了,爱怎么放就怎么放
      

  5.   

    就是在里面随便添加控件啊
    代码就直接添加,比如我以前写的这样的;
    class Selectpanel extends JPanel implements ActionListener{
    JTextField field1;
    JTextArea area1;
    JButton b1;
    int t=0;
    Selectpanel(){
    setLayout(new BorderLayout());
    b1=new JButton("查询");
    field1=new JTextField(10);
    area1=new JTextArea(10,20);
    JPanel p1 =new JPanel(),p2 =new JPanel();
    p1.add(new JLabel("输入查询的单词"));
    p1.add(field1);p1.add(b1);
    add(p1,"North");
    p2.add(area1);
    add(p2,"Center");
    b1.addActionListener(this);
    }
      

  6.   

    这个可以做到的。有个商业类库Jide,是个很牛的Swing类库,扩展了很多Swing控件,使它们更方便地被使用。你搜一下,它里面包含在JTabbedPane空白区域显示控件的例子。
    Jide现在已经部分开源了。
      

  7.   

    Jide的主页:
    http://www.jidesoft.com/
      

  8.   


    直接实现的话,应该是不支持的。间接实现的话,可以考虑用绝对定位布局,相当于两个组件进行叠放;
    其中空白区域组件要叠放在JTabbedPane的上层。不过十分不推荐这么做,绝对定位的话,布局自动调整等便捷性优势就没了。
      

  9.   

    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Graphics;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTabbedPane;
    import javax.swing.SwingConstants;public  class Test { public static void main(String[] args) {
    JFrame jf = new JFrame();
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.setContentPane(new MyPanel());
    jf.setSize(300, 300);
    jf.setVisible(true);
    jf.setLocationRelativeTo(null);
    }
    }class MyPanel extends JPanel{
    public MyPanel(){

    JTabbedPane tabbedPane = new JTabbedPane();
    tabbedPane.setTabPlacement(SwingConstants.LEFT);
    tabbedPane.addTab("Option",getOptionPanel());
    tabbedPane.addTab("View", getViewPanel());
    tabbedPane.addTab("First", getFirstPanel());
    tabbedPane.add(new JButton("Second"), 3);

    setLayout(new BorderLayout());
    add(tabbedPane,BorderLayout.CENTER);
    } private JPanel getFirstPanel() {
    return new JPanel();
    } private JPanel getViewPanel() {
    return new JPanel();
    } private JPanel getOptionPanel() {
    return new JPanel();
    }
    }
      

  10.   

    jide的文档里面介绍了他的tabpane有这么一个功能:可以在tab前面和后面添加自定义的控件