Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JFrame不会立即显示内容,但会在最小化+;恢复_Java_Swing - Fatal编程技术网

Java JFrame不会立即显示内容,但会在最小化+;恢复

Java JFrame不会立即显示内容,但会在最小化+;恢复,java,swing,Java,Swing,我的JFrame有一个奇怪的问题,当我在Eclipse中运行程序时,GUI显示如下:这不应该发生,因为它看起来应该是这样的:但是在最小化并恢复JFrame窗口后,问题会自行修复。为什么会发生这种情况?我如何修复它以在启动程序后立即正确显示GUI (此问题也发生在其他计算机上)添加所有组件后,将框架设置为可见 public class GUI extends JFrame implements ActionListener { ...//some global variables pub

我的JFrame有一个奇怪的问题,当我在Eclipse中运行程序时,GUI显示如下:这不应该发生,因为它看起来应该是这样的:但是在最小化并恢复JFrame窗口后,问题会自行修复。为什么会发生这种情况?我如何修复它以在启动程序后立即正确显示GUI


(此问题也发生在其他计算机上)

添加所有组件后,将框架设置为可见

public class GUI extends JFrame implements ActionListener {
   ...//some global variables
  public GUI ()
  {
    super("Closest Word Automaton");
    this.setSize(1000, 640);
    this.setVisible(true);
    this.setResizable(false);
    this.setLocationRelativeTo(null);
    this.setLayout(new CardLayout());

    initArray();

    JTabbedPane tabs = new JTabbedPane();
    tabs.add("Edit View", createEditView());
    tabs.add("Automaton View", createAutomatonView());
    tabs.add("Levenshtein Distance Calculator", createLevCalculator());
    this.add(tabs);

    addListener();

  }
注意,我也调用了
this.pack()
。这将导致JFrame的大小正确,从而正确地调整其子组件的大小,因此当您
setVisible(true)
时,它将正确显示。

在其设置为可见之前调用
pack()
,为了更快地获得更好的帮助,请发布(最小完整可验证示例)或(简短、自包含、正确的示例)。
public class GUI extends JFrame implements ActionListener {
   ...//some global variables
  public GUI ()
  {
    super("Closest Word Automaton");
    this.setSize(1000, 640);
    this.setResizable(false);
    this.setLocationRelativeTo(null);
    this.setLayout(new CardLayout());

    initArray();

    JTabbedPane tabs = new JTabbedPane();
    tabs.add("Edit View", createEditView());
    tabs.add("Automaton View", createAutomatonView());
    tabs.add("Levenshtein Distance Calculator", createLevCalculator());
    this.add(tabs);

    this.pack();
    this.setVisible(true);  //setVisible to true after adding components

    addListener();
  }