Java 中 JTable 的選擇模式是什麼?


選擇模式將表的選中模式設定為只允許單選、單個連續區間或多個區間。讓我們逐個瞭解選擇模式 −

單選模式

以下是 JTable 的單選模式示例。它允許您一次選擇一個單元格 −

示例

package my;
import java.awt.Color;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.border.TitledBorder;
public class SwingDemo {
   public static void main(String[] args) {
      JFrame frame = new JFrame();
      JPanel panel = new JPanel();
      panel.setBorder(BorderFactory.createTitledBorder(
         BorderFactory.createEtchedBorder(), "ODI Rankings", TitledBorder.CENTER, TitledBorder.TOP));
      String[][] rec = {
         { "1", "Steve", "AUS" },
         { "2", "Virat", "IND" },
         { "3", "Kane", "NZ" },
         { "4", "David", "AUS" },
         { "5", "Ben", "ENG" },
         { "6", "Eion", "ENG" },
      };
      String[] header = { "Rank", "Player", "Country" };
      JTable table = new JTable(rec, header);
      table.setShowHorizontalLines(true);
      table.setGridColor(Color.orange);
      table.setCellSelectionEnabled(true);
      table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
      panel.add(new JScrollPane(table));
      frame.add(panel);
      frame.setSize(550, 400);
      frame.setVisible(true);
   }
}

這將生成以下輸出 −

單區間選擇模式

以下是 JTable 的單區間選擇模式示例。它允許您一次選擇一個連續的索引範圍 −

示例

package my;
import java.awt.Color;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.border.TitledBorder;
public class SwingDemo {
   public static void main(String[] args) {
      JFrame frame = new JFrame();
      JPanel panel = new JPanel();
      panel.setBorder(BorderFactory.createTitledBorder(
         BorderFactory.createEtchedBorder(), "ODI Rankings", TitledBorder.CENTER, TitledBorder.TOP));
      String[][] rec = {
         { "1", "Steve", "AUS" },
         { "2", "Virat", "IND" },
         { "3", "Kane", "NZ" },
         { "4", "David", "AUS" },
         { "5", "Ben", "ENG" },
         { "6", "Eion", "ENG" },
      };
      String[] header = { "Rank", "Player", "Country" };
      JTable table = new JTable(rec, header);
      table.setShowHorizontalLines(true);
      table.setGridColor(Color.orange);
      table.setCellSelectionEnabled(true); table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
      panel.add(new JScrollPane(table));
      frame.add(panel);
      frame.setSize(550, 400);
      frame.setVisible(true);
   }
}

這將生成以下輸出 −

多區間選擇模式

以下是 JTable 的多區間選擇模式示例。它允許您一次選擇一個或多個連續的索引範圍 −

示例

package my;
import java.awt.Color;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.border.TitledBorder;
public class SwingDemo {
      public static void main(String[] args) {
         JFrame frame = new JFrame();
         JPanel panel = new JPanel();
         panel.setBorder(BorderFactory.createTitledBorder(
            BorderFactory.createEtchedBorder(), "ODI Rankings", TitledBorder.CENTER, TitledBorder.TOP));
         String[][] rec = {
            { "1", "Steve", "AUS" },
            { "2", "Virat", "IND" },
            { "3", "Kane", "NZ" },
            { "4", "David", "AUS" },
            { "5", "Ben", "ENG" },
            { "6", "Eion", "ENG" },
         };
         String[] header = { "Rank", "Player", "Country" };
         JTable table = new JTable(rec, header);
         table.setShowHorizontalLines(true);
         table.setGridColor(Color.orange);
         table.setCellSelectionEnabled(true); table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
         panel.add(new JScrollPane(table));
         frame.add(panel);
         frame.setSize(550, 400);
         frame.setVisible(true);
   }
}

這將生成以下輸出 −

更新於: 30-7-2019

662 次檢視

啟動你的 職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.