gpt4 book ai didi

java - JFrame 不会显示 - 不是代码错误

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

最近我的每一个扩展 JFrame 的应用程序都无法实际显示框架。程序将运行,然后在大约 8 秒后终止,不会显示任何内容,也不会出现错误消息。我过去制作的所有程序以及任何新程序都会发生这种情况。

出于测试目的,我使用 Oracle 文档中的基本示例。

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class test extends JFrame{

public static void main(String[] args){
//1. Create the frame.
JFrame frame = new JFrame("FrameDemo");

//2. Optional: What happens when the frame closes?
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//3. Create components and put them in the frame.
JLabel emptyLabel = new JLabel();
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);

//4. Size the frame.
frame.pack();

//5. Show it.
frame.setVisible(true);
}

}

我正在使用 eclipse,并且我已经尝试过切换工作场所。

我查看了现有的线程,没有发现任何不是由于编码错误造成的。

我该如何解决这个问题?

编辑:程序在此行之后不会从 System.out.println() 输出任何内容:

JFrame frame = new JFrame("FrameDemo");

它会输出之前的任何内容。

最佳答案

好吧,我检查了你的代码,它可以工作。首先,如果 JLabel 中没有任何内容,则该 JLabel 是不可见的。

pack(); 
//basically CRUSHES the entire frame if it doesn't have objects to collapse on.

此外,如果您不想在 JLabel 中放入任何内容,请先不要打包。只需将其设置为特定大小即可

frame.setSize(width,height);

它只显示任何内容,因为您折叠了它而没有在 JLabel 中放置任何内容。我希望我回答了你的问题基本上这就是你想要的

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class test extends JFrame{

public static void main(String[] args){
//1. Create the frame.
JFrame frame = new JFrame("FrameDemo");

//2. Optional: What happens when the frame closes?
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//3. Create components and put them in the frame.
JLabel emptyLabel = new JLabel("BLAHBLAHBHALBAHLKKDJF");
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);

//4. Size the frame.
frame.pack();

//5. Show it.
frame.setVisible(true);
}

}

或者你可以直接设置大小

frame.setSize(width,height);

玩得开心!

关于java - JFrame 不会显示 - 不是代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29089498/

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