繁体   English   中英

Java中简单GUI的可视化问题

[英]Visualization issue of a simple GUI in Java

我用Java做了一个非常简单的GUI,但是当我运行程序时,GUI表现得很奇怪!

一旦运行该应用程序:GUI如下所示:

在此处输入图片说明

一旦我将其最小化并重新备份,它就可以正常显示,如下所示:

在此处输入图片说明

这是非常简单的代码:

public class Prova2 {

public static void main(String[] args) {

    JFrame frame = new JFrame("A Simple GUI");
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setSize(650, 120);
    frame.setLocation(430, 100);

    JPanel panel = new JPanel();
    frame.add(panel);

    JLabel lbl = new JLabel("Select one of the possible choices and click OK");;
    lbl.setVisible(true);   
    panel.add(lbl);

    String[] choices = { "CHOICE 1","CHOICE 2", "CHOICE 3","CHOICE 4","CHOICE 5","CHOICE 6"};
    JComboBox<String> cb = new JComboBox<String>(choices);
    cb.setVisible(true);
    panel.add(cb);

    JButton btn = new JButton("OK");
    panel.add(btn);
  }
}

为了在运行应用程序后立即显示GUI良好(显示所有元素),我缺少什么?

必须烦恼的是必须最小化窗口或调整窗口大小才能正确显示GUI!

我测试了您的代码,问题是您在JFrame创建项目之前将可见性设置为true 因此,只需剪切frame.setVisible(true); 并将其粘贴为构造函数的最后一行。

我也看到你没有使用强烈推荐的布局管理器。 检查以获取信息。

  1. 使用布局管理器

  2. 遵循Swing Toolkit的主要原则:应在EDT线程(UI线程)上操作和启动所有UI。 这是一个很好的解释http://www.pushing-pixels.org/2007/12/06/unwriting-rule-of-working-with-swings-edt.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM