我正在使用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”。
答案 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();
}
它应该运行。