Java netbeansjframe初始化;建筑很好,但没有窗户

Java netbeansjframe初始化;建筑很好,但没有窗户,java,swing,netbeans,jframe,Java,Swing,Netbeans,Jframe,我正在使用Java,我正在尝试用NetBeans创建一个GUI。我以前做过这件事,我非常困惑,因为我的代码虽然NetBeans没有给出错误,但在NetBeans中运行它时不会生成新的JFrame窗口。然而,初始化JFrame的代码基本上与我以前的GUI程序(“ProgramOne”)相同。当我试着运行“程序一”时,它运行得很好。这是我的问题代码 package aircannoncalculator; import java.awt.event.ActionEvent; import java

我正在使用Java,我正在尝试用NetBeans创建一个GUI。我以前做过这件事,我非常困惑,因为我的代码虽然NetBeans没有给出错误,但在NetBeans中运行它时不会生成新的JFrame窗口。然而,初始化JFrame的代码基本上与我以前的GUI程序(“ProgramOne”)相同。当我试着运行“程序一”时,它运行得很好。这是我的问题代码

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,构建总是进行得很顺利,但正如我所说的,没有生成实际的窗口。我做错了什么


旁注;忽略我的免费导入列表。

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

对我来说很好,一定是其他原因……你确定Netbeans正在运行这个类吗?它没有试图运行其他的
main
类?非常自信。我的包中还有另一个.java,所以我注释掉了它的主要部分以供检查。Build-另一个成功,但没有窗口。尝试在代码中放置调试语句(
System.out.println
),然后查看在main和calcGUI中执行的位置,既不起作用,又奇怪地解决了问题!我想知道这是否是一个NetBeans的东西,所以我复制了我所有的代码并创建了一个新的项目,将代码重新插入,等等。现在它开始工作了。呜呜……听起来Netbeans好像试图运行错误的项目/类-一直这样做:P
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);


    }
}