编译代码后,JFrame不会出现



我正在使用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"。InteliIdea建议我只编译Ramka.java。InteliIdeay说,编译后,编译成功了,但仅此而已,什么都没有发生。在我之前的练习中,我总是使用"main"方法。

您应该这样做:

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

除了在main处缺少static标识符之外,您还必须确保您的帧在正确的线程中运行,检查swing 的"并发性"

如果你真的运行main,你会看到你的Ramka。Main应该总是声明为public static void main(String[] args),而您忘记了static。如果您将其更改为:

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

它应该运行。

相关内容

  • 没有找到相关文章

最新更新