在Eclipse中,我使用的是JFrame,但没有出现Window

时间:2013-01-31 18:42:33

标签: java swing jframe

我开始了一个新项目,所有代码都是正确的(我认为)并且没有窗口出现。没有编译错误,每当我运行程序时都没有任何反应。

import javax.swing.*;
import java.awt.*;

public class Frame extends JFrame{

    public static String title = "Tower Defense";  
    public static Dimension size = new Dimension(700, 550);  

    public static void main(String args[]){ 

        Frame frame = new Frame(); 
    }

    public Frame()  { 

        setTitle(title);
        setSize(size);
        setResizable(false);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public void init(){

        setVisible(true);
    }
}

3 个答案:

答案 0 :(得分:4)

您永远不会调用init()方法。你的框架如何可见?

只需将main方法更改为:

即可
public static void main(String args[]){ 

    Frame frame = new Frame(); 
    frame.init();
}

答案 1 :(得分:2)

你永远不会在你的帧构造函数中调用init():

public Frame() { 
    setTitle(title);
    setSize(size);
    setResizable(false);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    **init();**
}

答案 2 :(得分:1)

永远不会在您的程序中调用

init()方法。

Frame()构造函数本身中设置可见性。

import javax.swing.*;              
import java.awt.*;        

public class Frame extends JFrame{

public static String title = "Tower Defense";  
public static Dimension size = new Dimension(700, 550);  

public static void main(String args[]){ 

    Frame frame = new Frame(); 
}

public Frame(){

    setTitle(title);
    setSize(size);
    setResizable(false);
    setLocationRelativeTo(null);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}