gpt4 book ai didi

Java Swing JPanel BorderLayout 无法按我的预期工作

转载 作者:行者123 更新时间:2023-12-01 11:29:56 25 4
gpt4 key购买 nike

首先,我必须说,我三天前才开始使用 Java 编程。

所以请耐心等待并尝试给我详细的解释。

所以我尝试使用 Swing 创建这个演示 GUI。我只想在对完整设计进行编码之前初步测试不同组件的布局。所以我编写了这段小代码来向 JPanel 添加 3 个按钮。

import javax.swing.*;
import java.awt.*;

public class demoGUI_v1{
JButton button1,button2,button3;
JFrame frame;
JPanel panel,panel2;
public static void main(String[] args){
demoGUI_v1 gui = new demoGUI_v1();
gui.framework();
}

public void framework(){
frame = new JFrame();
frame.setSize(500,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel();
panel2 = new JPanel();
button1 = new JButton("Button1");
button2 = new JButton("Button2");
button3 = new JButton("Button3");
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
panel2.add(BorderLayout.CENTER,panel);
frame.getContentPane().add(panel, BorderLayout.WEST);
frame.setVisible(true);
}
}

enter image description here

最佳答案

添加一些垂直粘合,使组件垂直居中:

    panel.add(Box.createVerticalGlue());
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(Box.createVerticalGlue());

关于Java Swing JPanel BorderLayout 无法按我的预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30490446/

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