gpt4 book ai didi

Java swing - 尺寸错误

转载 作者:行者123 更新时间:2023-11-30 07:18:33 25 4
gpt4 key购买 nike

所以我有这个问题。我在 Java Eclipse SDK 4.2.1 中编写了这段代码。我没有在这里全部写出来,actionPerformed 方法现在无关紧要,它从 Main 调用一次。问题是有时当我运行它时,其中一个组件会填满整个窗口并与所有其他组件重叠。我尝试通过随机数更改大小,例如从 400 到 350,有时它起作用,然后又坏了。我可能错过了什么,我只是不知道是什么。我搜索了其他论坛,但一无所获。

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Collections;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;


public class Window extends JFrame implements ActionListener
{
JTextField field1;
JTextField field2;

public Window()
{
super("Main Window");
setVisible(true);
setSize(500, 500);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
Initialize();
}
private void Initialize()
{
field1 = new JTextField();
field2 = new JTextField();
field1.setBounds(0, 0, 400, 100);
field2.setBounds(0,100,400,100);
add(field1);
add(field2);
field1.setBackground(Color.PINK);
field1.setForeground(Color.RED);
field2.setBackground(Color.PINK);
field2.setForeground(Color.RED);
JButton button = new JButton("Create");
button.setBounds(0, 200, 400, 100);
add(button);
button.setBackground(Color.BLACK);
button.setForeground(Color.YELLOW);
button.addActionListener(this);

}

最佳答案

您的问题是您的代码不遵守正在使用的布局管理器,因为您正在尝试添加组件,就好像正在使用的布局为空,而实际上它不是。解决方案是阅读并了解布局管理器,并使用它们;这包括避免调用 setBounds(...)。请注意,JFrame 的 contentPane 默认使用 BorderLayout。此信息应该可以帮助您入门。另请注意,错误 解决方案是使用空布局。因此,如果有人提出此建议,我强烈建议您忽略他们。

关于Java swing - 尺寸错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15313380/

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