2013-09-26 53 views
-1

我在Java中創建了一個小表格,其中使用了JTable並填充表格。我使用了下面的代碼。無法在JTable中顯示列名

import net.proteanit.sql.DbUtils; 

try 
{ 
     CreateConnection(); 
     PreparedStatement st =conn.prepareStatement("Select * from ABC;"); 
     ResultSet rs = st.executeQuery(); 
     jtable_clock.setModel(DbUtils.resultSetToTableModel(rs)); 
     conn.close(); 
} 
catch(Exception ex) 
{  
     JOptionPane.showMessageDialog(null, ex.toString()); 
} 

這裏的一切工作正常,但我無法在我的表中設置列名稱。

我從表ABC獲取數據,但是如何在表中設置列名?

+0

1-您是否將該表添加到'JScrollPane'? 2-你從哪裏得到DbUtils? – MadProgrammer

+0

@MadProgrammer是的,我的Jtable已經在Jscrollpane中。 –

+0

顯示您的DbUtils.resultSetToTableModel(rs)的代碼。 – Masudul

回答

1

我沒有遇到任何問題。嘗試運行我的代碼。替換我的數據庫用戶名&密碼。

import java.awt.HeadlessException; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Statement; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
import javax.swing.JFrame; 
import javax.swing.JScrollPane; 
import javax.swing.JTable; 

/** 
* 
* @author Masud 
*/ 
public class Test extends JFrame { 

    public Test() throws HeadlessException { 
     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
      Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/zoodb", "root", "12345678"); 
      Statement statement = connection.createStatement(); 
      ResultSet resultSet = statement.executeQuery("select * from ABC"); 
      JTable jTable = new JTable(DbUtils.resultSetToTableModel(resultSet)); 
      JScrollPane pane = new JScrollPane(jTable); 
      add(pane); 
     } catch (Exception ex) { 
      Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex); 
     } 
     pack(); 
     setVisible(true); 
    } 

    public static void main(String[] args){ 
     new Test(); 
    } 
} 
+0

我不知道我沒有改變,但現在它的工作。 –