您好我有一个名为main.java的主类,其中包含:
import my.rcsv1.accounting.DBConnect;
public class main {
public static void main(String[] args) {
DBConnect connect = new DBConnect();
RCSAccV1GUI gui = new RCSAccV1GUI();
}
}
我还有另外两个类DBConnect和RCSAccV1GUI。 DBConnect类包含以下内容:
public class DBConnect {
public Connection con;
public Statement st;
public PreparedStatement pst = null;
public ResultSet rs;
public DBConnect(){
try{
String driverMySQL = "com.mysql.jdbc.Driver";
Class.forName(driverMySQL);
con = DriverManager.getConnection("jdbc:mysql://localhost/?user=root&password=pass");
st = con.createStatement();
}catch(ClassNotFoundException | SQLException ex){
JOptionPane.showMessageDialog(null, ex);
}
}
}
RCSAccV1GUI Class是一个空白的JFrame,它只有一个标签,当前是标题。
package my.rcsv1.accounting;
import my.rcsv1.accounting.DBConnect;
public class RCSAccV1GUI extends javax.swing.JFrame {
public RCSAccV1GUI() {
initComponents();
}
public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new RCSAccV1GUI().setVisible(true);
}
});
}
当我在NetBeans中运行主类时,它继续运行并且不生成JFrame。为什么我在运行主类时不会打开JFrame?
答案 0 :(得分:2)
添加
gui.setVisible(true);
后
RCSAccV1GUI gui = new RCSAccV1GUI();
或在此区块内
public RCSAccV1GUI() {
initComponents();
}
将可见性设置为true。
答案 1 :(得分:1)
Java只在您运行的类中启动main
方法,而不是在其他类中启动。将代码从框架类移动到构造函数中,或者更好的是,从main
调用的单独方法。
答案 2 :(得分:0)
创建JFrame时是否已调用setVisible(true)
?默认情况下,JFrames不可见。
编辑:以及在" main"中添加gui.setVisible(true)
。 class,从" RCSAccV1GUI"中删除main方法。我不认为您想要两个主要方法,并且还在那里创建了另一个RCSAccV1GUI实例。