【发布时间】: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。