如何停用 Java 中 JTable 的自動調整大小?


要停用 Java 中表格的自動調整大小,將 setAutoResizeMode() 設定為 AUTO_RESIZE_OFF −

JTable table = new JTable(tableModel);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

以下是在 Java 中停用 JTable 的自動調整大小的示例 −

package my;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRootPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class SwingDemo {
   public static void main(String[] argv) throws Exception {
      JFrame frame = new JFrame("Demo");
      JPanel panel = new JPanel();
      String data[][] = { {"Australia","5","1"},
         {"US","10","2"},
         {"Canada","9","3"},
         {"India","7","4"},
         {"Poland","2","5"},
         {"SriLanka","5","6"}
      };
      String col [] = {"Team","Selected Players","Rank"};
      DefaultTableModel tableModel = new DefaultTableModel(data,col);
      JTable table = new JTable(tableModel);
      table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
      Dimension dim = new Dimension(50,2);
      table.setIntercellSpacing(new Dimension(dim));
      JScrollPane scrollPane = new JScrollPane(table);
      panel.add(scrollPane);
      frame.add(panel);
      frame.setSize(600,400);
      frame.setUndecorated(true);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.getRootPane().setWindowDecorationStyle(JRootPane.INFORMATION_DIALOG);
      frame.setVisible(true);
   }
}

輸出如下所示。現在,表格不會自動調整大小,並會顯示如下 −

現在,可以手動拖動列標題以完整顯示錶格列。完成後,整個表格將如下圖所示 −


更新於:30-Jul-2019

487 次瀏覽

開啟您的職業生涯

完成課程,獲得認證

立即開始
廣告