7

我正在使用 Java,并且正在尝试使用 NetBeans 创建 GUI。我以前做过,我很困惑,因为我的代码虽然 NetBeans 不会出错,但当我在 NetBeans 中运行它时不会生成新的 JFrame 窗口。但是,初始化 JFrame 的代码与我之前的 GUI 拥有程序(“程序一”)基本相同。当我尝试运行“程序一”时,它工作得很好。这是我的问题代码;

package aircannoncalculator;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class CalcGUI extends JFrame {

public CalcGUI(){
    setTitle("Air Cannon Modeler");
    setSize(400,400);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args){

        CalcGUI gui = new CalcGUI();
        gui.setVisible(true);

}
}

根据 NetBeans 的说法,构建总是很顺利,但正如我所说,没有生成实际的窗口。我究竟做错了什么?

边注; 忽略我的无偿进口清单。

4

2 回答 2

17

您必须将 JFrame 设置为项目的主类。右键单击项目名称(咖啡杯图标) -> 设置配置 -> 自定义 -> 在“运行”部分中单击“主类:”右侧的浏览按钮以选择默认主类(您想要的JFrame),完成!

于 2014-07-07T20:07:27.583 回答
1
package aircannoncalculator;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class CalcGUI extends JFrame {

    public CalcGUI(){
        setTitle("Air Cannon Modeler");
        setSize(400,400);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public static void main(String[] args){

        CalcGUI gui = new CalcGUI();

        //Try adding some JComponents
        this.pack();    //this tends to compact the JFrame container & displays it when you setVisible(true)

        gui.setVisible(true);


    }
}
于 2014-06-11T03:28:43.357 回答