使用Java JSplitPane调整控件大小

时间:2011-11-24 18:23:24

标签: java swing resize jsplitpane

请在链接中查看下面的图片,然后阅读下面的图片,了解有关我的问题的更多详情。

Sample image

想象一下,这是一个基本框架,用JSplitPane分割成两个,默认情况下,当您调整框架大小时,灰色部分会改变它的大小,但我希望白色部分根据框架大小调整大小。

任何正确方向的帮助都会受到赞赏,因为我现在正在开展一个项目,并且我正在尝试各种奇怪的东西,为新一年中我最大的项目做好准备。 :)

此致 塞隆

1 个答案:

答案 0 :(得分:10)

您需要使用setResizeWeight来获取左侧和右侧的额外空间或缩小JFrame调整大小,示例代码如下:

    import java.awt.BorderLayout;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JSplitPane;

    public class TestJSplitPane {
    private void init(){
        JFrame frame = new JFrame();
        frame.setLayout(new BorderLayout());
        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
        splitPane.setRightComponent(new JButton("Here I Am"));
        splitPane.setLeftComponent(new JButton("Me Too"));
        splitPane.setResizeWeight(0.5);
        frame.add(splitPane, BorderLayout.CENTER);
        frame.pack();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        new TestJSplitPane().init();
    }
}

setResizeWeight的Java文档。

希望这有帮助。