用jSplitPane.setDividerLocation(int size);方法

解决方案 »

  1.   

    JSplitPane不允许把其分隔体拖动到这样一个位置上,这个位置使得它的一个组件比这个组件的最小尺寸还小。所以你要对JSplitPane中的组件设置最小尺寸,像我下面写的这个就能把分隔条拖到最左边import java.awt.*;
    import javax.swing.*;public class SplitTest extends JFrame {
    JSplitPane sp = new JSplitPane();
    JTabbedPane tp = new JTabbedPane();
    JPanel jp = new JPanel();
    JComboBox cb = new JComboBox();

    public SplitTest() {
    tp.setMinimumSize(new Dimension(0,0));
    jp.add(cb, null);
    tp.add(jp, "panel");
    sp.setOrientation(JSplitPane.HORIZONTAL_SPLIT);
    sp.add(tp, JSplitPane.LEFT);
    this.getContentPane().add(sp, BorderLayout.CENTER);
    this.setSize(400, 300);
    } public static void main(String[] args) {
    (new SplitTest()).setVisible(true);
    }
    }
      

  2.   

    我想用一个按纽来实现左边的消失和显示,用什么代码调用?jsplitpane.setOneTouchExpandable(true), 按分隔条当中的两个三角(分隔条先设得稍宽一点),看看你要的效果是不是这个...
      

  3.   

    谢谢Apocalypse(逍遥思辨) 的指教,受益非浅,另外最后你说的jsplitpane.setOneTouchExpandable(true),我知道你说的意思,不过我是要把这个功能实现在toolbar的一个button上,不过我想去看看setOneTouchExpandable就应该知道代码该怎么写了,谢谢你了:)