编译代码后JFrame没有出现

时间:2013-08-13 21:12:31

标签: java swing jform

我正在使用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”。

2 个答案:

答案 0 :(得分:3)

你应该这样做:

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

除了错过static处的main标识符外,您还必须确保您的框架在正确的线程中运行"concurrency"以进行展开

答案 1 :(得分:2)

如果你真的跑了主,你会看到你的Ramka。主要应该始终声明public static void main(String[] args),忘记了static。如果您将其更改为:

public static void main (String[] args){

    new Ramka();
}

它应该运行。