gpt4 book ai didi

java - 为什么这段代码的JTextArea 占满了整个JFrame?

转载 作者:行者123 更新时间:2023-12-03 23:47:22 25 4
gpt4 key购买 nike

我希望我的框架的一部分包含 JTextArea 但它完全占据了。我无法在此处追踪错误。

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

public class EchoServer
{
public static void main(String args[])
{
CalcFrame c = new CalcFrame();
CalcTextArea a = new CalcTextArea();
}
}

class CalcTextArea
{
JTextArea historyDisplayer = new JTextArea("",50,20);
CalcTextArea()
{
//historyDisplayer.setVisible(true);
historyDisplayer.insert("Hello World", 0);
Color bg = new Color(23,34,56);
historyDisplayer.setBackground(bg);
historyDisplayer.setBackground(bg);
}
}

class CalcFrame extends CalcTextArea
{
JFrame frame = new JFrame();
CalcFrame()
{
frame.setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
frame.setTitle("CALCULATOR");
frame.setVisible(true);
frame.add(historyDisplayer);

}
private static int DEFAULT_WIDTH = 299,DEFAULT_HEIGHT = 190;
}

最佳答案

JFrame 默认使用 BorderLayout。当您只是将某些内容添加到 BorderLayout 组件(如 JFrame)时,它会添加到 BorderLayout 的正中心(如果您没有指定位置添加组件),它会占用整个 JFrame

您应该使用正确的 layout调整它们。

关于java - 为什么这段代码的JTextArea 占满了整个JFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7748473/

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