0

我正在使用 Intellij 创意平台。

我有以下代码:

package GUI.test;
import javax.swing.*;

public class Ramka extends JFrame{

    Ramka(){

        setVisible(true);
        setSize(100,100);

    }

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

我希望在编译这段代码后看到一个 JFrame,但什么也没出现。会是什么问题?

还必须承认,我不可能运行方法“main”。InteligIdea 建议我只编译 Ramka.java。编译 IntelijIdeay 后说,编译成功完成,但仅此而已,什么也没发生。在我之前的练习中,我总是运行方法“main”。

4

2 回答 2

3

你应该这样做:

public static void main (String[] args){
            java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Ramka().setVisible(true);
            }
        });
    }

除了在 处缺少static标识符外main,您还必须确保您的框架在正确的线程中运行,检查“并发”是否有摆动

于 2013-08-13T21:54:48.733 回答
2

如果你真的运行 main,你会看到你的 Ramka。Main 应始终public static void main(String[] args)您忘记static. 如果您将其更改为:

public static void main (String[] args){

    new Ramka();
}

它应该运行。

于 2013-08-13T21:14:03.190 回答