-1
package myproj;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import myproj.util.DBUtil;

/**
 *
 * @author PEARL
 */
public class DATAENTRY extends javax.swing.JFrame {

    /**
     * Creates new form DATAENTRY
     */
    public DATAENTRY() {
        try {
            initComponents();
            DBUtil util = new DBUtil();
            Connection con = util.getConnection();
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("select * from bk_det inner join bk_rep on bk_det.rm_id = bk_rep.rm_id inner join bk_sec on bk_rep.rm_id = bk_sec.rm_id inner join mut_det on bk_sec.rm_id = mut_det.rm_id inner join rm_det on mut_det.rm_id = rm_det.rm_id inner join soil_det on rm_det.rm_id = soil_det.rm_id");
            ResultSetMetaData rsmetadata = rs.getMetaData();
            int columns = rsmetadata.getColumnCount();
            DefaultTableModel dtm = new DefaultTableModel();
            Vector columns_name = new Vector();
            Vector data_rows = new Vector();
            for(int i=1; i< columns; i++){
            columns_name.addElement(rsmetadata.getColumnName(i));
            }
            dtm.setColumnIdentifiers(columns_name);

            while(rs.next()){
            data_rows = new Vector();
            for(int j=1; j< columns; j++){
            data_rows.addElement(rs.getString(j));
            }
            dtm.addRow(data_rows);
            }
            MyTable.setModel(dtm);
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
            Logger.getLogger(Demo.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
public static void main(String arg[]){

}


}

SQL データベースから jtable へのレコードを netbeans gui で表示したいのですが、Windows フォームのコンパイルと実行は正常に表示できますが、適切なフォームが表示されません。助けてください

4

5 に答える 5

4

DATAENTRY()これは、メイン クラスで呼び出す必要があるためです。

于 2012-12-29T15:54:10.080 に答える
2

メイン メソッドは空なので、何もしません。

public static void main(String arg[]){

}
于 2012-12-29T15:53:28.980 に答える
2

mainメソッドが完全に空 であることをご存知ですか? プログラム内のすべてmainが から発生します。DATAENTRYそこからオブジェクトをインスタンス化する必要があります。

DATAENTRY da = new DATAENTRY();

他のものも同様に壊れる場合もあります。スタックトレースに注意してください。

于 2012-12-29T15:53:49.763 に答える
2

メインメソッドには何もありません。Java は main メソッドからコードの実行を開始します。

于 2012-12-29T15:54:17.263 に答える
1

これを追加

public static void main(String arg[]){
  DATAENTRY de = new DATAENTRY() ;
  de.pack();
  de.setVisible(true)
}

また、クラス名DATAENTRYとコンストラクターで行ったすべてのものは、適切な標準ではありません。Java コード標準に従う必要があります。ググってください。

  1. クラス名は次のようになりますDataEntryFrame
  2. 次のようなフレームを構築した後、コンポーネントの初期化を呼び出しますdeFrame.intilizeComponents()
  3. 次のようなテーブルコンテンツを更新するための別の方法を入れてくださいfillupTable()
  4. 最後に、イベントまたはメイン メソッドで fillupTable メソッドを呼び出します。
于 2012-12-29T15:55:52.340 に答える