2011-12-27 11 views
0

私のコードでは、Jtableで出力が見えません。MySqlデータを使用してJTableに出力を表示できません

NetBeansでは、JFrameの中にJTableがあり、次に私はmysqlデータベース接続を作成しました。

私は、StudentMasterとしてテーブルを作成し、そこからデータをJTableに挿入しています。 JTableでデータを選択すると、出力が表示されず、エラーも発生しません。

私を助けてください。

public class dbtable extends javax.swing.JFrame { 
    ResultSet result=null; 
    Connection conn=null; 
     Statement st=null; 

    public dbtable() { 
     initconn(); 
     initComponents(); 
    } 
    public Connection initconn(){ 
    try{ 
      Class.forName("com.mysql.jdbc.Driver"); 
      conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/project", "root", "root"); 
      st = conn.createStatement(); 
     } 
     catch(Exception e){ 
      System.out.println(e); 
     } 
    return conn; 
    } 
    public void tab(){ 
     try { 
      DefaultTableModel model=(DefaultTableModel)jTable1.getModel(); 

      st=conn.createStatement(); 
       String query="Select * from StudentMaster"; 
       result=st.executeQuery(query); 
       int i=0; 
       while(result.next()) 
       { 
        String id=result.getString("StudId"); 
        System.out.println(id); 
        String no=result.getString("StudNo"); 
        String name=result.getString("StudName"); 
        System.out.println(name); 
        String stcls=result.getString("StudClass"); 
        String m1=result.getString("StudMrk1"); 
        String m2=result.getString("StudMrk2"); 
        String tot=result.getString("StudTot"); 
        String res=result.getString("StudRes"); 

        model.addRow(new Object[]{id,no,name,stcls,m1,m2,tot,res}); 
       } 
       jTable1.setModel(model); 
       result.close(); 
       st.close(); 
       conn.close(); 
      } 
      catch (Exception e) { 
       System.out.println(e); 
      } 

    } 

    /** This method is called from within the constructor to 
    * initialize the form. 
    * WARNING: Do NOT modify this code. The content of this method is 
    * always regenerated by the Form Editor. 
    */ 
    @SuppressWarnings("unchecked") 
    // <editor-fold defaultstate="collapsed" desc="Generated Code"> 
    private void initComponents() { 

     jPanel1 = new javax.swing.JPanel(); 
     jPanel2 = new javax.swing.JPanel(); 
     CmdA = new javax.swing.JButton(); 
     CmdE = new javax.swing.JButton(); 
     CmdD = new javax.swing.JButton(); 
     CmdX = new javax.swing.JButton(); 
     jPanel3 = new javax.swing.JPanel(); 
     jScrollPane1 = new javax.swing.JScrollPane(); 
     jTable1 = new javax.swing.JTable(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 
     setFont(new java.awt.Font("Arial", 0, 10)); 

     jPanel1.setBorder(javax.swing.BorderFactory.createMatteBorder(1, 1, 1, 1, java.awt.Color.darkGray)); 

     jPanel2.setBorder(javax.swing.BorderFactory.createMatteBorder(1, 1, 1, 1, java.awt.Color.darkGray)); 

     CmdA.setText("+"); 
     CmdA.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       CmdAActionPerformed(evt); 
      } 
     }); 

     CmdE.setText("E"); 

     CmdD.setText("-"); 
     CmdD.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       CmdDActionPerformed(evt); 
      } 
     }); 

     CmdX.setMnemonic('Q'); 
     CmdX.setText("Q"); 
     CmdX.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       CmdXActionPerformed(evt); 
      } 
     }); 

     javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); 
     jPanel2.setLayout(jPanel2Layout); 
     jPanel2Layout.setHorizontalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(jPanel2Layout.createSequentialGroup() 
       .addGap(24, 24, 24) 
       .addComponent(CmdA, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
       .addComponent(CmdE, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
       .addComponent(CmdD, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
       .addComponent(CmdX, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(25, Short.MAX_VALUE)) 
     ); 

     jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {CmdA, CmdD, CmdE, CmdX}); 

     jPanel2Layout.setVerticalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() 
       .addContainerGap() 
       .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE, false) 
        .addComponent(CmdE, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addComponent(CmdA, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addComponent(CmdD, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addComponent(CmdX, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)) 
       .addGap(47, 47, 47)) 
     ); 

     jPanel2Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {CmdA, CmdD, CmdE, CmdX}); 

     jPanel3.setBorder(javax.swing.BorderFactory.createMatteBorder(1, 1, 1, 1, java.awt.Color.darkGray)); 

     jTable1.setModel(new javax.swing.table.DefaultTableModel(
      new Object [][] { 
       {null, null, null, null, null, null, null, null}, 
       {null, null, null, null, null, null, null, null}, 
       {null, null, null, null, null, null, null, null}, 
       {null, null, null, null, null, null, null, null} 
      }, 
      new String [] { 
       "ID", "Reg_No", "Name", "Class", "Subj 1", "Subj 2", "Total", "Result" 
      } 
     ) { 
      Class[] types = new Class [] { 
       java.lang.Integer.class, java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class 
      }; 
      boolean[] canEdit = new boolean [] { 
       false, false, false, false, false, false, false, false 
      }; 

      public Class getColumnClass(int columnIndex) { 
       return types [columnIndex]; 
      } 

      public boolean isCellEditable(int rowIndex, int columnIndex) { 
       return canEdit [columnIndex]; 
      } 
     }); 
     jScrollPane1.setViewportView(jTable1); 
     jTable1.getColumnModel().getColumn(0).setResizable(false); 
     jTable1.getColumnModel().getColumn(0).setPreferredWidth(25); 
     jTable1.getColumnModel().getColumn(1).setResizable(false); 
     jTable1.getColumnModel().getColumn(1).setPreferredWidth(25); 
     jTable1.getColumnModel().getColumn(2).setResizable(false); 
     jTable1.getColumnModel().getColumn(2).setPreferredWidth(250); 
     jTable1.getColumnModel().getColumn(3).setResizable(false); 
     jTable1.getColumnModel().getColumn(3).setPreferredWidth(150); 
     jTable1.getColumnModel().getColumn(4).setResizable(false); 
     jTable1.getColumnModel().getColumn(4).setPreferredWidth(25); 
     jTable1.getColumnModel().getColumn(5).setResizable(false); 
     jTable1.getColumnModel().getColumn(5).setPreferredWidth(25); 
     jTable1.getColumnModel().getColumn(6).setResizable(false); 
     jTable1.getColumnModel().getColumn(6).setPreferredWidth(25); 
     jTable1.getColumnModel().getColumn(7).setResizable(false); 
     jTable1.getColumnModel().getColumn(7).setPreferredWidth(25); 

     javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); 
     jPanel3.setLayout(jPanel3Layout); 
     jPanel3Layout.setHorizontalGroup(
      jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGap(0, 865, Short.MAX_VALUE) 
      .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 865, Short.MAX_VALUE)) 
     ); 
     jPanel3Layout.setVerticalGroup(
      jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGap(0, 119, Short.MAX_VALUE) 
      .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(jPanel3Layout.createSequentialGroup() 
        .addContainerGap() 
        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) 
     ); 

     javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); 
     jPanel1.setLayout(jPanel1Layout); 
     jPanel1Layout.setHorizontalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() 
       .addContainerGap(546, Short.MAX_VALUE) 
       .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
     ); 
     jPanel1Layout.setVerticalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(jPanel1Layout.createSequentialGroup() 
       .addContainerGap() 
       .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(543, Short.MAX_VALUE)) 
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(jPanel1Layout.createSequentialGroup() 
        .addGap(209, 209, 209) 
        .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addContainerGap(350, Short.MAX_VALUE))) 
     ); 

     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
     getContentPane().setLayout(layout); 
     layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 
       .addContainerGap() 
       .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 
       .addContainerGap() 
       .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
     ); 

     pack(); 
    }// </editor-fold> 

    private void CmdXActionPerformed(java.awt.event.ActionEvent evt) {          

    }          

    private void CmdDActionPerformed(java.awt.event.ActionEvent evt) {          

    }          

    private void CmdAActionPerformed(java.awt.event.ActionEvent evt) {          

    }          

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String args[]) { 
     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       new dbtable().tab(); 
       new dbtable().setVisible(true); 
      } 
     }); 
    } 

    // Variables declaration - do not modify 
    private javax.swing.JButton CmdA; 
    private javax.swing.JButton CmdD; 
    private javax.swing.JButton CmdE; 
    private javax.swing.JButton CmdX; 
    private javax.swing.JPanel jPanel1; 
    private javax.swing.JPanel jPanel2; 
    private javax.swing.JPanel jPanel3; 
    private javax.swing.JScrollPane jScrollPane1; 
    private javax.swing.JTable jTable1; 
    // End of variables declaration 

} 
+1

Javaの命名規則を習得し、それらに固執PLEASE ... NOW – kleopatra

+0

あなたが*であるデータを使用してテーブルを更新することができます* DBから来ていない?そうでない場合、DBは無関係です。もしそうなら、問題からテーブルを取り除き、DBに集中する方が良いでしょう。いずれにせよ、実際の問題に焦点を当てた短いコードと、一般的なJava命名法に固執することは、いくらか進歩をもたらすかもしれません。 –

答えて

3

生成されたコードは、私はあなたがスイングする新しいしている場合は特に、それを避けるためにしようとか、あなたが読むことができないと理解していないコードの多くを持つことになります読み取ることが困難です。あなたの主な言われていること

は、臭い何か含まれています。だから、あなたは、フレームの2つのインスタンスを作成している

new dbtable().tab(); 
new dbtable().setVisible(true); 

を。最初のものにはmysqlデータが入っていますが、決して見えません。 2番目のものは入力されていませんが、可視になりました=>入力されていない1つのフレームが表示されます。

試してみてください。

ところで
dbtable dbt = new dbtable(); 
dbt.tab() 
dbt.setVisible(true); 

:Javaの命名規則を尊重しよう:http://java.about.com/od/javasyntax/a/nameconventions.htm

+1

これは正しいです。 2つのテーブルを作成していて、空のテーブルを表示しています。 –

関連する問題