gpt4 book ai didi

java - 使按钮拆分 JPanel - Java Swing

转载 作者:行者123 更新时间:2023-12-01 21:36:19 24 4
gpt4 key购买 nike

我正在进行 BorderLayout,并且正在处理北面板。在 North 面板中,我希望有 3 个组件:左侧的图片和两个用于分割 Frame 剩余宽度的按钮。现在我正在尝试使用另一个 BorderLayout 来完成此任务。

框架可调整大小。

图片被分配给BorderLayout.WEST,并使用以下代码我尝试添加另一个仅包含按钮的面板。然后将该面板添加到 FrameNORTH 布局组件的 CENTER

//create panel to hold buttons
JPanel btnPanel = new JPanel();
btnPanel.setLayout(new BorderLayout());

JButton btnMatrix = new JButton("Matrix View");
btnPanel.add(btnMatrix);
JButton btnList = new JButton("List View");
btnPanel.add(btnList);
add(btnPanel);

但是,这两个按钮都试图占据整个面板。如果我将其保留为流布局(我在上面的代码中不使用 btnPanel.setLayout(new BorderLayout());),按钮会很好地位于中心,但不会展开并分享btnPanel

想法?我对 Java 还很陌生,所以我可能从一开始就以错误的方式进行处理。

最佳答案

btnPanel.setLayout(new BorderLayout());

将按钮添加到面板时,您没有指定约束。所以这两个按钮都添加到了 CENTER。但是,CENTER 中只能添加一个组件,因此仅显示最后添加的一个组件。

您可以尝试不同的布局:

btnPanel.setLayout( new GridLayout(0, 2));

然后每个按钮将具有相同的大小,并且两个按钮将填充可用空间。

关于java - 使按钮拆分 JPanel - Java Swing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36927148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com