gpt4 book ai didi

java - 如何在 GridLayout (java swing) 中定义/排列按钮位置?

转载 作者:行者123 更新时间:2023-12-01 21:48:27 25 4
gpt4 key购买 nike

我的代码编译时没有错误或警告,但按钮在默认位置(网格窗口的中心)相互重叠。我怎样才能克服这个问题?我真的想避免使用 GridBagLayout,因为我发现它有点太烦人和复杂。

我已经阅读了很多关于这个问题的内容(从这里和其他平台上的帖子到 sun 提供的文档),但除了使用“神秘的”GridBagLayout 方法之外,似乎没有什么真正有效的。

任何人都可以帮助我或为我指出一个更好、更富有成果的方向吗?

我提供了我在下面编写的代码。

提前致谢。 //计算器的版本2(使用网格) 导入java.awt.GridLayout; 导入 javax.swing.JButton; 导入 javax.swing.JFrame; //导入javax.swing.JTextField;

//buttons definition and declaration, layout class definition

public class calculatorV2 extends JFrame {

private static final long serialVersionUID = 1L;
GridLayout calcGui;
//JTextField display;

public calculatorV2(){
calcGui = new GridLayout(4,4,2,2);
setSize(400,400);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
pack();
setVisible(true);
setTitle("Calculator");
setLocationRelativeTo(null);
//display = new JTextField();
//display.setHorizontalAlignment(JTextField.RIGHT);

add(new JButton("0"));
add(new JButton("1"));
add(new JButton("2"));
add(new JButton("3"));
add(new JButton("4"));
add(new JButton("5"));
add(new JButton("6"));
add(new JButton("7"));
add(new JButton("8"));
add(new JButton("9"));
add(new JButton("+"));
add(new JButton("-"));
add(new JButton("*"));
add(new JButton("/"));
add(new JButton("="));
add(new JButton("C"));

}

//run grid
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new calculatorV2();
}

});
}}

最佳答案

您尚未在 JFrame 上设置布局,您仅实例化了一个。在添加组件之前,您需要调用

setLayout(calcGui);

关于java - 如何在 GridLayout (java swing) 中定义/排列按钮位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35590025/

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