5

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

示例图像

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

任何对正确方向的帮助将不胜感激,因为我现在正在做一个项目,我正在尝试各种奇怪的东西,为我在新的一年里设定的最大项目做准备。:)

问候塞隆

4

1 回答 1

12

您需要使用setResizeWeightJFrame resize 时让左右占用额外空间或缩小尺寸,示例代码如下:

    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 文档。

希望这可以帮助。

于 2011-11-24T18:37:35.667 回答