【问题标题】:Why is my Java swing window not showing up?为什么我的 Java swing 窗口不显示?
【发布时间】:2014-08-28 08:01:27
【问题描述】:

所以我开始学习 Java Swing,跟随 YouTube 视频.. 在 Linux Ubuntu 14.04 中安装了 Java 8 和 NetBeans 8.0。做了一个新的Java应用,写了如下代码:

package basicswing;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;

public class BasicSwing extends JFrame {

    JPanel p = new JPanel();
    JButton b = new JButton("Hello");

    public static void main(String[] args) {
        new BasicSwing();
    }

    public BasicSwing() {
        super("Basic Swing App");

        setSize(400,300);
        setResizable(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        p.add(b);
        add(p);

        setVisible(true);
    }

}

当我清理、构建然后运行项目时,它显示一个 Java 项目正在运行,但是我没有看到 Frame,它没有弹出.. 我实际上并不认为它是代码问题,我用不同的代码试过了,框架仍然没有显示。我不知道这是 NetBeans 问题还是 Java 问题.. 还是其他问题?

【问题讨论】:

  • 当我在我的环境中运行代码时,我能够看到框架。您的代码没有错误。
  • 你确定它不只是出现在其他窗口后面吗?
  • 代码完美运行windows机器
  • 在我的 eclipse juno 中也可以使用
  • 1) setSize(400,300); .. setVisible(true); 应该是 ..pack(); setVisible(true); 2) 应该在 EDT 上构建 GUI。有关详细信息,请参阅Concurrency in Swing

标签: java linux swing netbeans


【解决方案1】:

这是一个环境(可能是 NetBeans?)问题。尝试从命令行运行:

$ javac BasicSwing.java
$ java BasicSwing

代码正确并显示框架。

【讨论】:

    猜你喜欢
    • 2018-06-08
    • 2013-02-09
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多