2012-10-03 78 views
0

在我的程序中,可以重新調整jTable的列大小。 jTable構建時,列的長度會自動調整大小。但有時我想更改列的大小,因爲當表格打印在紙上時它更易讀。圖標大小調整jTable列

可以顯示像這樣的圖標:icon

現在只有鼠​​標所示,當調整大小的列

有誰如果這是可能的,如何做到這一點?

代碼表:

 private JTable table; 
    table = new JTable(model); 
    table.setBounds(1, 1, 450, 0); 
    JScrollPane scrollPane = new JScrollPane(table); 
    panel_10.add(scrollPane); 
    JTableHeader tableHeader = table.getTableHeader(); 
    tableHeader.setResizingAllowed(true); 

也許這是成才與我的DefaultTableModel?

  DefaultTableModel model = new DefaultTableModel(); 

     Statement stmt2 = connection.createStatement(); 
     ResultSet rs2 = stmt2.executeQuery("SELECT * FROM machinecodes WHERE type = '" + type +"'"); 

     while(rs2.next()){ 
     for(int i = 1; i < columns ; i++) 
     { 
      if(rs2.getString(1+i)==null) break; 
      model.addColumn(rs2.getString(1+i)); 
     } 
     } 
     } 
     else 
     { 
      for(int i = 1 ; i <= 25 ; i++) 
       model.addColumn(i); 

     } 
     // Fetch each row from the result set 
      while (rs.next()) { 
       Object[] o = new Object[columns]; 
      // Get the data from the row using the column index 
       for(int i = 0; i < columns ; i++) 
      o[i]=rs.getString(i+1); 

          model.insertRow(0, o); 
      }  
+2

請考慮清理代碼格式,這是近不可讀的原樣。 (請注意,這個網站的格式化程序不能很好地使用標籤..但是,唉,我們不應該在我們的代碼中使用標籤:) – kleopatra

回答

2

檢索JTableHeader上,並允許調整:

JTable yourTable; 
... 
JTableHeader tableHeader = yourTable.getTableHeader(); 
tableHeader.setResizingAllowed(true); 
+0

我的表已經是可以重新調整大小了。但在兩列中間是否可以顯示圖標? –

+0

默認情況下應該顯示調整大小鼠標光標。可以發佈你的代碼,或更好的SSCCE。 – Heisenbug

+0

編輯代碼 –