gpt4 book ai didi

java - 我的 GUI 窗口没有显示任何内容

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

我正在尝试使用网格布局来制作 GUI 窗口。我添加了所有组件并进行了编译,但是当它运行时,它没有显示任何内容。我正在尝试制作一个像这样分组和堆叠的简单布局。

{introduction message}
{time label
time input text}
{gravity label
gravity input text}
{answer label
answer text box}
{calculate button clear button}

这是我的代码

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

public class TurnerRandyFallingGUI extends JFrame
{
final int WINDOW_HEIGHT=500;
final int WINDOW_WIDTH=500;

public TurnerRandyFallingGUI()
{
setTitle("Falling Distance Calculator");

setSize(WINDOW_WIDTH,WINDOW_HEIGHT);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLayout(new GridLayout(1, 5));

//labels
JLabel introMessage = new JLabel("Welcome to the Falling distance"+
"calculator");
JLabel timeLabel = new JLabel("Please enter the amount of time "+
"in seconds the object was falling.");
JLabel gravityLabel = new JLabel("Enter the amount of gravity being "+
"forced onto the object");
JLabel answerLabel = new JLabel("Answer");

//text fields
JTextField fTime = new JTextField(10);
JTextField gForce = new JTextField(10);
JTextField answerT = new JTextField(10);

//buttons
JButton calculate = new JButton("Calculate");
JButton clr = new JButton("clear");

//panels
JPanel introP = new JPanel();
JPanel timeP = new JPanel();
JPanel gravityP = new JPanel();
JPanel answerP = new JPanel();
JPanel buttonsP = new JPanel();

//adding to the panels
//intro panel
introP.add(introMessage);
//time panel
timeP.add(timeLabel);
timeP.add(fTime);
//gravity panel
gravityP.add(gravityLabel);
gravityP.add(gForce);
//answer panel
answerP.add(answerLabel);
answerP.add(answerT);
//button panel
buttonsP.add(calculate);
buttonsP.add(clr);




setVisible(true);
}
public static void main(String[] args)
{
new TurnerRandyFallingGUI();
}
}

最佳答案

您没有向上面的类扩展的 JFrame 添加任何内容。您需要将组件添加到其层次结构最终通向顶层窗口的容器中,如果您愿意的话,也可以通向 this 。换句话说,上面的代码中没有 add(someComponent) 或功能类似的 this.add(someComponent) 方法调用。

  • 考虑将所有 JPanel 添加到单个 JPanel
  • 考虑通过调用 add(thatJPanel) 将该 JPanel 添加到属于您的类的 JFrame 实例。
  • 更好的办法是不扩展 JFrame,而只在需要时创建 JFrame,但这可能会成为下次讨论的主题。

关于java - 我的 GUI 窗口没有显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15983676/

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