在 Java 中如何設定表模型中的列可以被選中或取消選擇?


我們可以使用 setColumnSelectionAllowed() 來設定或取消允許選擇表格中的列。

假設我們的表格如下 −

DefaultTableModel tableModel = new DefaultTableModel();
JTable table = new JTable(tableModel);

如果你想允許選擇列,那麼將此方法設定為 TRUE −

table.setColumnSelectionAllowed(true);

如果你想禁止選擇列,那麼將此方法設定為 FALSE −

table.setRowSelectionAllowed(false);

以下示例中,我們禁止了選擇列 −

示例

package my;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class SwingDemo {
   public static void main(String[] argv) throws Exception {
      DefaultTableModel tableModel = new DefaultTableModel();
      JTable table = new JTable(tableModel);
      tableModel.addColumn("Language/ Technology");
      tableModel.addColumn("Text Tutorial");
      tableModel.addColumn("Video Tutorial");
      tableModel.addColumn("Interview QA");
      tableModel.addRow(new Object[] { "ASP.NET", "Yes", "Yes", "Yes"});
      tableModel.addRow(new Object[] { "F#", "Yes", "No", "Yes"});
      tableModel.addRow(new Object[] { "SharePoint", "Yes", "Yes", "Yes"});
      tableModel.addRow(new Object[] { "AWS", "No", "No", "Yes"});
      tableModel.addRow(new Object[] { "Blockchain", "Yes", "No", "Yes"});
      tableModel.addRow(new Object[] { "C#", "Yes", "Yes", "Yes"});
      tableModel.addRow(new Object[] { "Java", "Yes", "No", "Yes"});
      tableModel.addRow(new Object[] { "NodeJS", "No", "Yes", "Yes"});
      tableModel.addRow(new Object[] { "MVC", "Yes", "No", "Yes"});
      table.setRowHeight(3, 30);
      table.setColumnSelectionAllowed(false);
      JFrame f = new JFrame();
      f.setSize(600, 400);
      f.add(new JScrollPane(table));
      f.setVisible(true);
   }
}

輸出如下。現在你無法選擇列 −

輸出


更新於: 2019-7-30

38 次檢視

開啟您的 職業生涯

完成課程並獲得認證

開始學習
廣告
© . All rights reserved.