How to select more than one row at a time in a JTable with Java?



To select more than one row in a JTable, use the setRowSelectionInterval() method. Here, set the indexes as interval for one end as well as other end.

For multiple rows in a range, set the range. Here, we are selecting rows from index 1 to index 2 i.e. two rows −

table.setRowSelectionInterval(1, 2);

The following is an example to select more than one row at a time in a JTable −

Example

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.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);       table.setColumnSelectionAllowed(false);       table.setRowSelectionAllowed(true);       table.addRowSelectionInterval(1, 2);       panel.add(new JScrollPane(table));       frame.add(panel);       frame.setSize(550, 400);       frame.setVisible(true);    } }

This will produce the following output −

Updated on: 2019-07-30T22:30:26+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements