不知道你“以列为单位”什么意思,试试吧:
private JScrollPane tableScrollPane;
tableScrollPane=new JScrollPane(jTable);

解决方案 »

  1.   

    希望我这个对你有用
    import java.sql.*; 
    import javax.swing.*; 
    import java.awt.*; 
    import java.awt.event.*; 
    import java.util.*; 
    import javax.swing.table.*;public class tableTest extends JFrame { 
       
       public static void main( String args[] ) 
       {
           new tableTest(); 
        
       }  
       private Connection connection; 
       private Statement statement; 
       private ResultSet resultSet; 
       private ResultSetMetaData rsmd; 
       private JButton submitQuery; 
       private JTable table; 
        
       public tableTest() 
       {  
            
          super( "输入SQL语句,按提交按钮查看结果。" ); 
          Container c = getContentPane(); 
          c.setLayout( new BorderLayout() ); 
        
          String url = "jdbc:odbc:空军国防生"; 
          String username = ""; 
          String password = "";      
          try 
          { 
             Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
             connection = DriverManager.getConnection( 
                url, username, password ); 
          } 
         
          catch ( ClassNotFoundException cnfex )
          { 
             System.err.println("装载 JDBC/ODBC 驱动程序失败。" ); 
             cnfex.printStackTrace(); 
             System.exit( 1 ); 
          } 
          
          catch ( SQLException sqlex )
          { 
             System.err.println( "无法连接数据库" ); 
             sqlex.printStackTrace(); 
             System.exit( 1 );  
          } 
          
          
          Vector columnHeads = new Vector(); 
          Vector rows = new Vector(); 
          try
          { 
            
              String query = "SELECT * FROM studentsmessage"; 
              statement = connection.createStatement(); 
              resultSet = statement.executeQuery( query );         
              rsmd = resultSet.getMetaData(); 
              for ( int i = 1; i <= rsmd.getColumnCount(); ++i ) 
                  columnHeads.addElement( rsmd.getColumnName( i ) ); 
              while ( resultSet.next() )
              { 
                  Vector currentRow = new Vector(); 
                  for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
                  { 
                      currentRow.addElement( resultSet.getString( i ) ); 
                  }
                  rows.addElement(currentRow);
              }  
              
              
          } 
          catch ( SQLException sqlex )
          { 
              sqlex.printStackTrace(); 
          } 
          
          table = new JTable( rows, columnHeads );     
          table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 
         
          try
          {
              for(int i = 0; i < rsmd.getColumnCount(); ++i )
              {
                  TableColumn Col1 = table.getColumnModel().getColumn(i); 
                  Col1.setPreferredWidth(100);     
              }
          }
          catch ( SQLException sqlex )
          { 
              sqlex.printStackTrace(); 
          } 
           
          JScrollPane scroller = new JScrollPane( table ); 
          scroller.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
          c.add( scroller, BorderLayout.CENTER ); 
          //c.validate();       addWindowListener( 
             new WindowAdapter() 
             { 
                public void windowClosing( WindowEvent e ) 
                {  
                   
                   System.exit( 0 ); 
                } 
             } 
          ); 
          setSize( 500, 200 ); 
          
          show(); 
       } 
    }