<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSwing%2FTable_Selection</id>
		<title>Java Tutorial/Swing/Table Selection - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSwing%2FTable_Selection"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing/Table_Selection&amp;action=history"/>
		<updated>2026-04-07T06:10:02Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Swing/Table_Selection&amp;diff=3883&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing/Table_Selection&amp;diff=3883&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:44, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Swing/Table_Selection&amp;diff=3884&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing/Table_Selection&amp;diff=3884&amp;oldid=prev"/>
				<updated>2010-05-31T15:32:22Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Allow multiple selections of rows, visible columns, or cell blocks (default) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTable table = new JTable();&lt;br /&gt;
    table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Allow only single a selection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTable table = new JTable();&lt;br /&gt;
    table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Allow selection to span one contiguous set of rows, visible columns, or block of cells ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTable table = new JTable();&lt;br /&gt;
    table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Check each cell in the min and max ranges of selected cells ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTable table = new JTable();&lt;br /&gt;
    if (table.getCellSelectionEnabled()) {&lt;br /&gt;
      // In the other modes, the set of selected cells can be retrieved using&lt;br /&gt;
      table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);&lt;br /&gt;
      table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);&lt;br /&gt;
      // Get the min and max ranges of selected cells&lt;br /&gt;
      int rowIndexStart = table.getSelectedRow();&lt;br /&gt;
      int rowIndexEnd = table.getSelectionModel().getMaxSelectionIndex();&lt;br /&gt;
      int colIndexStart = table.getSelectedColumn();&lt;br /&gt;
      int colIndexEnd = table.getColumnModel().getSelectionModel().getMaxSelectionIndex();&lt;br /&gt;
      // Check each cell in the range&lt;br /&gt;
      for (int r = rowIndexStart; r &amp;lt;= rowIndexEnd; r++) {&lt;br /&gt;
        for (int c = colIndexStart; c &amp;lt;= colIndexEnd; c++) {&lt;br /&gt;
          if (table.isCellSelected(r, c)) {&lt;br /&gt;
            System.out.println(&amp;quot;cell is selected&amp;quot;); &lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Deselect a cell: cell (3,2), All cells in the row and column containing (re deselected. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    int rows = 10;&lt;br /&gt;
    int cols = 5;&lt;br /&gt;
    JTable table = new JTable(rows, cols);&lt;br /&gt;
    table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);&lt;br /&gt;
    table.setColumnSelectionAllowed(true);&lt;br /&gt;
    table.setRowSelectionAllowed(true);&lt;br /&gt;
    int row = 3;&lt;br /&gt;
    int col = 2;&lt;br /&gt;
    boolean toggle = true;&lt;br /&gt;
    boolean extend = false;&lt;br /&gt;
    table.changeSelection(row, col, toggle, extend);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Disabling Selections in a JTable Component ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    int rows = 10;&lt;br /&gt;
    int cols = 5;&lt;br /&gt;
    JTable table = new JTable(rows, cols);&lt;br /&gt;
    table.setFocusable(false);&lt;br /&gt;
    table.setCellSelectionEnabled(false);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Extend the selection to include all cells (5,3) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    int rows = 10;&lt;br /&gt;
    int cols = 5;&lt;br /&gt;
    JTable table = new JTable(rows, cols);&lt;br /&gt;
    table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);&lt;br /&gt;
    table.setColumnSelectionAllowed(true);&lt;br /&gt;
    table.setRowSelectionAllowed(true);&lt;br /&gt;
    int row = 5;&lt;br /&gt;
    int col = 3;&lt;br /&gt;
    boolean toggle = false;&lt;br /&gt;
    boolean extend = true;&lt;br /&gt;
    table.changeSelection(row, col, toggle, extend);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get default selection mode:MULTIPLE_INTERVAL_SELECTION ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTable table = new JTable();&lt;br /&gt;
    int selMode = table.getSelectionModel().getSelectionMode();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get selected row and selected index ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTable table = new JTable();&lt;br /&gt;
    if (table.getCellSelectionEnabled()) {&lt;br /&gt;
      table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);&lt;br /&gt;
      int rowIndex = table.getSelectedRow();&lt;br /&gt;
      int colIndex = table.getSelectedColumn();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get the min and max ranges of selected cells ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTable table = new JTable();&lt;br /&gt;
    if (table.getCellSelectionEnabled()) {&lt;br /&gt;
      table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);&lt;br /&gt;
      table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);&lt;br /&gt;
      int rowIndexStart = table.getSelectedRow();&lt;br /&gt;
      int rowIndexEnd = table.getSelectionModel().getMaxSelectionIndex();&lt;br /&gt;
      int colIndexStart = table.getSelectedColumn();&lt;br /&gt;
      int colIndexEnd = table.getColumnModel().getSelectionModel().getMaxSelectionIndex();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Getting the Anchor Cell in a JTable Component ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    int rows = 10;&lt;br /&gt;
    int cols = 5;&lt;br /&gt;
    JTable table = new JTable(rows, cols);&lt;br /&gt;
    int rowIndex = table.getSelectionModel().getAnchorSelectionIndex();&lt;br /&gt;
    int vColIndex = table.getColumnModel().getSelectionModel().getAnchorSelectionIndex();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Handle selection and model change events for a JTable. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
import javax.swing.event.ListSelectionEvent;&lt;br /&gt;
import javax.swing.event.ListSelectionListener;&lt;br /&gt;
import javax.swing.event.TableModelEvent;&lt;br /&gt;
import javax.swing.event.TableModelListener;&lt;br /&gt;
import javax.swing.table.TableModel;&lt;br /&gt;
public class Main implements ListSelectionListener {&lt;br /&gt;
  String[] headings = { &amp;quot;Name&amp;quot;, &amp;quot;Customer ID&amp;quot;, &amp;quot;Order #&amp;quot;, &amp;quot;Status&amp;quot; };&lt;br /&gt;
  Object[][] data = { { &amp;quot;A&amp;quot;, new Integer(3), &amp;quot;0&amp;quot;, new Date() },&lt;br /&gt;
      { &amp;quot;B&amp;quot;, new Integer(6), &amp;quot;4&amp;quot;, new Date() }, { &amp;quot;C&amp;quot;, new Integer(9), &amp;quot;9&amp;quot;, new Date() },&lt;br /&gt;
      { &amp;quot;D&amp;quot;, new Integer(7), &amp;quot;1&amp;quot;, new Date() }, { &amp;quot;E&amp;quot;, new Integer(4), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
      { &amp;quot;F&amp;quot;, new Integer(8), &amp;quot;2&amp;quot;, new Date() }, { &amp;quot;G&amp;quot;, new Integer(6), &amp;quot;1&amp;quot;, new Date() } };&lt;br /&gt;
  JTable jtabOrders = new JTable(data, headings);&lt;br /&gt;
  TableModel tm;&lt;br /&gt;
  Main() {&lt;br /&gt;
    JFrame jfrm = new JFrame(&amp;quot;JTable Event Demo&amp;quot;);&lt;br /&gt;
    jfrm.setSize(400, 200);&lt;br /&gt;
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    &lt;br /&gt;
    jtabOrders.setPreferredScrollableViewportSize(new Dimension(420, 62));&lt;br /&gt;
    ListSelectionModel rowSelMod = jtabOrders.getSelectionModel();&lt;br /&gt;
    ListSelectionModel colSelMod = jtabOrders.getColumnModel().getSelectionModel();&lt;br /&gt;
    rowSelMod.addListSelectionListener(this);&lt;br /&gt;
    colSelMod.addListSelectionListener(this);&lt;br /&gt;
    tm = jtabOrders.getModel();&lt;br /&gt;
    tm.addTableModelListener(new TableModelListener() {&lt;br /&gt;
      public void tableChanged(TableModelEvent tme) {&lt;br /&gt;
        if (tme.getType() == TableModelEvent.UPDATE) {&lt;br /&gt;
          System.out.println(&amp;quot;Cell &amp;quot; + tme.getFirstRow() + &amp;quot;, &amp;quot; + tme.getColumn() + &amp;quot; changed.&amp;quot;&lt;br /&gt;
              + &amp;quot; The new value: &amp;quot; + tm.getValueAt(tme.getFirstRow(), tme.getColumn()));&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    jfrm.add(new JScrollPane(jtabOrders));&lt;br /&gt;
    jfrm.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public void valueChanged(ListSelectionEvent le) {&lt;br /&gt;
    String str = &amp;quot;Selected Row(s): &amp;quot;;&lt;br /&gt;
    int[] rows = jtabOrders.getSelectedRows();&lt;br /&gt;
    for (int i = 0; i &amp;lt; rows.length; i++)&lt;br /&gt;
      str += rows[i] + &amp;quot; &amp;quot;;&lt;br /&gt;
    str += &amp;quot;Selected Column(s): &amp;quot;;&lt;br /&gt;
    int[] cols = jtabOrders.getSelectedColumns();&lt;br /&gt;
    for (int i = 0; i &amp;lt; cols.length; i++)&lt;br /&gt;
      str += cols[i] + &amp;quot; &amp;quot;;&lt;br /&gt;
    str += &amp;quot;Selected Cell: &amp;quot; + jtabOrders.getSelectedRow() + &amp;quot;, &amp;quot;&lt;br /&gt;
        + jtabOrders.getSelectedColumn();&lt;br /&gt;
    System.out.println(str);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    new Main();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  JTable.setCellSelectionEnabled(boolean b); ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.FlowLayout;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  String[] headings = { &amp;quot;Name&amp;quot;, &amp;quot;Customer ID&amp;quot;,&amp;quot;Order #&amp;quot;, &amp;quot;Status&amp;quot; };&lt;br /&gt;
  Object[][] data = {&lt;br /&gt;
    { &amp;quot;A&amp;quot;, new Integer(3), &amp;quot;0&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;B&amp;quot;, new Integer(6), &amp;quot;4&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;C&amp;quot;, new Integer(9), &amp;quot;9&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;D&amp;quot;, new Integer(7), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;E&amp;quot;, new Integer(4), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;F&amp;quot;, new Integer(8), &amp;quot;2&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;G&amp;quot;, new Integer(6), &amp;quot;1&amp;quot;, new Date() }&lt;br /&gt;
  };&lt;br /&gt;
  JTable jtabOrders = new JTable(data, headings);&lt;br /&gt;
  Main() {&lt;br /&gt;
    JFrame jfrm = new JFrame(&amp;quot;JTable Demo&amp;quot;);&lt;br /&gt;
    jfrm.setLayout(new FlowLayout());&lt;br /&gt;
    jfrm.setSize(460, 180);&lt;br /&gt;
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JScrollPane jscrlp = new JScrollPane(jtabOrders);&lt;br /&gt;
    jtabOrders.setPreferredScrollableViewportSize(new Dimension(420, 60));&lt;br /&gt;
    jtabOrders.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);&lt;br /&gt;
    jtabOrders.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);&lt;br /&gt;
    jfrm.setVisible(true);&lt;br /&gt;
  &lt;br /&gt;
    jtabOrders.setCellSelectionEnabled(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
     new Main();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  JTable.setColumnSelectionAllowed(boolean b); ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.FlowLayout;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  String[] headings = { &amp;quot;Name&amp;quot;, &amp;quot;Customer ID&amp;quot;,&lt;br /&gt;
                        &amp;quot;Order #&amp;quot;, &amp;quot;Status&amp;quot; };&lt;br /&gt;
  Object[][] data = {&lt;br /&gt;
    { &amp;quot;A&amp;quot;, new Integer(3), &amp;quot;0&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;B&amp;quot;, new Integer(6), &amp;quot;4&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;C&amp;quot;, new Integer(9), &amp;quot;9&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;D&amp;quot;, new Integer(7), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;E&amp;quot;, new Integer(4), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;F&amp;quot;, new Integer(8), &amp;quot;2&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;G&amp;quot;, new Integer(6), &amp;quot;1&amp;quot;, new Date() }&lt;br /&gt;
  };&lt;br /&gt;
  JTable jtabOrders = new JTable(data, headings);&lt;br /&gt;
  Main() {&lt;br /&gt;
    JFrame jfrm = new JFrame(&amp;quot;JTable Demo&amp;quot;);&lt;br /&gt;
    jfrm.setLayout(new FlowLayout());&lt;br /&gt;
    jfrm.setSize(460, 180);&lt;br /&gt;
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JScrollPane jscrlp = new JScrollPane(jtabOrders);&lt;br /&gt;
    jtabOrders.setPreferredScrollableViewportSize(&lt;br /&gt;
                new Dimension(420, 60));&lt;br /&gt;
    jtabOrders.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);&lt;br /&gt;
    jfrm.setVisible(true);&lt;br /&gt;
  &lt;br /&gt;
    jtabOrders.setColumnSelectionAllowed(false);&lt;br /&gt;
    jtabOrders.setRowSelectionAllowed(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
     new Main();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  JTable.setRowSelectionAllowed(boolean b); ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.FlowLayout;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  String[] headings = { &amp;quot;Name&amp;quot;, &amp;quot;Customer ID&amp;quot;,&amp;quot;Order #&amp;quot;, &amp;quot;Status&amp;quot; };&lt;br /&gt;
  Object[][] data = {&lt;br /&gt;
    { &amp;quot;A&amp;quot;, new Integer(3), &amp;quot;0&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;B&amp;quot;, new Integer(6), &amp;quot;4&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;C&amp;quot;, new Integer(9), &amp;quot;9&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;D&amp;quot;, new Integer(7), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;E&amp;quot;, new Integer(4), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;F&amp;quot;, new Integer(8), &amp;quot;2&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;G&amp;quot;, new Integer(6), &amp;quot;1&amp;quot;, new Date() }&lt;br /&gt;
  };&lt;br /&gt;
  JTable jtabOrders = new JTable(data, headings);&lt;br /&gt;
  Main() {&lt;br /&gt;
    JFrame jfrm = new JFrame(&amp;quot;JTable Demo&amp;quot;);&lt;br /&gt;
    jfrm.setLayout(new FlowLayout());&lt;br /&gt;
    jfrm.setSize(460, 180);&lt;br /&gt;
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JScrollPane jscrlp = new JScrollPane(jtabOrders);&lt;br /&gt;
    jtabOrders.setPreferredScrollableViewportSize(&lt;br /&gt;
                new Dimension(420, 60));&lt;br /&gt;
    jtabOrders.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);&lt;br /&gt;
    jfrm.setVisible(true);&lt;br /&gt;
  &lt;br /&gt;
    jtabOrders.setColumnSelectionAllowed(false);&lt;br /&gt;
    jtabOrders.setRowSelectionAllowed(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
     new Main();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  JTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.FlowLayout;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  String[] headings = { &amp;quot;Name&amp;quot;, &amp;quot;Customer ID&amp;quot;, &amp;quot;Order #&amp;quot;, &amp;quot;Status&amp;quot; };&lt;br /&gt;
  Object[][] data = {&lt;br /&gt;
    { &amp;quot;A&amp;quot;, new Integer(3), &amp;quot;0&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;B&amp;quot;, new Integer(6), &amp;quot;4&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;C&amp;quot;, new Integer(9), &amp;quot;9&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;D&amp;quot;, new Integer(7), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;E&amp;quot;, new Integer(4), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;F&amp;quot;, new Integer(8), &amp;quot;2&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;G&amp;quot;, new Integer(6), &amp;quot;1&amp;quot;, new Date() }&lt;br /&gt;
  };&lt;br /&gt;
  JTable jtabOrders = new JTable(data, headings);&lt;br /&gt;
  Main() {&lt;br /&gt;
    JFrame jfrm = new JFrame(&amp;quot;JTable Demo&amp;quot;);&lt;br /&gt;
    jfrm.setLayout(new FlowLayout());&lt;br /&gt;
    jfrm.setSize(460, 180);&lt;br /&gt;
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JScrollPane jscrlp = new JScrollPane(jtabOrders);&lt;br /&gt;
    jtabOrders.setPreferredScrollableViewportSize(new Dimension(420, 60));&lt;br /&gt;
    jtabOrders.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);&lt;br /&gt;
    jfrm.setVisible(true);&lt;br /&gt;
  &lt;br /&gt;
    jtabOrders.setColumnSelectionAllowed(false);&lt;br /&gt;
    jtabOrders.setRowSelectionAllowed(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
     new Main();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  JTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.FlowLayout;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  String[] headings = { &amp;quot;Name&amp;quot;, &amp;quot;Customer ID&amp;quot;,&amp;quot;Order #&amp;quot;, &amp;quot;Status&amp;quot; };&lt;br /&gt;
  Object[][] data = {&lt;br /&gt;
    { &amp;quot;A&amp;quot;, new Integer(3), &amp;quot;0&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;B&amp;quot;, new Integer(6), &amp;quot;4&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;C&amp;quot;, new Integer(9), &amp;quot;9&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;D&amp;quot;, new Integer(7), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;E&amp;quot;, new Integer(4), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;F&amp;quot;, new Integer(8), &amp;quot;2&amp;quot;, new Date() },&lt;br /&gt;
    { &amp;quot;G&amp;quot;, new Integer(6), &amp;quot;1&amp;quot;, new Date() }&lt;br /&gt;
  };&lt;br /&gt;
  JTable jtabOrders = new JTable(data, headings);&lt;br /&gt;
  Main() {&lt;br /&gt;
    JFrame jfrm = new JFrame(&amp;quot;JTable Demo&amp;quot;);&lt;br /&gt;
    jfrm.setLayout(new FlowLayout());&lt;br /&gt;
    jfrm.setSize(460, 180);&lt;br /&gt;
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JScrollPane jscrlp = new JScrollPane(jtabOrders);&lt;br /&gt;
    jtabOrders.setPreferredScrollableViewportSize(new Dimension(420, 60));&lt;br /&gt;
    jtabOrders.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);&lt;br /&gt;
    jfrm.setVisible(true);&lt;br /&gt;
  &lt;br /&gt;
    jtabOrders.setColumnSelectionAllowed(false);&lt;br /&gt;
    jtabOrders.setRowSelectionAllowed(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
     new Main();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  ListSelectionModel colSelMod = JTable.getColumnModel().getSelectionModel(); ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
import javax.swing.event.ListSelectionEvent;&lt;br /&gt;
import javax.swing.event.ListSelectionListener;&lt;br /&gt;
import javax.swing.event.TableModelEvent;&lt;br /&gt;
import javax.swing.event.TableModelListener;&lt;br /&gt;
import javax.swing.table.TableModel;&lt;br /&gt;
public class Main implements ListSelectionListener {&lt;br /&gt;
  String[] headings = { &amp;quot;Name&amp;quot;, &amp;quot;Customer ID&amp;quot;, &amp;quot;Order #&amp;quot;, &amp;quot;Status&amp;quot; };&lt;br /&gt;
  Object[][] data = { { &amp;quot;A&amp;quot;, new Integer(3), &amp;quot;0&amp;quot;, new Date() },&lt;br /&gt;
      { &amp;quot;B&amp;quot;, new Integer(6), &amp;quot;4&amp;quot;, new Date() }, { &amp;quot;C&amp;quot;, new Integer(9), &amp;quot;9&amp;quot;, new Date() },&lt;br /&gt;
      { &amp;quot;D&amp;quot;, new Integer(7), &amp;quot;1&amp;quot;, new Date() }, { &amp;quot;E&amp;quot;, new Integer(4), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
      { &amp;quot;F&amp;quot;, new Integer(8), &amp;quot;2&amp;quot;, new Date() }, { &amp;quot;G&amp;quot;, new Integer(6), &amp;quot;1&amp;quot;, new Date() } };&lt;br /&gt;
  JTable jtabOrders = new JTable(data, headings);&lt;br /&gt;
  TableModel tm;&lt;br /&gt;
  Main() {&lt;br /&gt;
    JFrame jfrm = new JFrame(&amp;quot;JTable Event Demo&amp;quot;);&lt;br /&gt;
    jfrm.setSize(400, 200);&lt;br /&gt;
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    &lt;br /&gt;
    jtabOrders.setPreferredScrollableViewportSize(new Dimension(420, 62));&lt;br /&gt;
    ListSelectionModel rowSelMod = jtabOrders.getSelectionModel();&lt;br /&gt;
    ListSelectionModel colSelMod = jtabOrders.getColumnModel().getSelectionModel();&lt;br /&gt;
    rowSelMod.addListSelectionListener(this);&lt;br /&gt;
    colSelMod.addListSelectionListener(this);&lt;br /&gt;
    tm = jtabOrders.getModel();&lt;br /&gt;
    tm.addTableModelListener(new TableModelListener() {&lt;br /&gt;
      public void tableChanged(TableModelEvent tme) {&lt;br /&gt;
        if (tme.getType() == TableModelEvent.UPDATE) {&lt;br /&gt;
          System.out.println(&amp;quot;Cell &amp;quot; + tme.getFirstRow() + &amp;quot;, &amp;quot; + tme.getColumn() + &amp;quot; changed.&amp;quot;&lt;br /&gt;
              + &amp;quot; The new value: &amp;quot; + tm.getValueAt(tme.getFirstRow(), tme.getColumn()));&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    jfrm.add(new JScrollPane(jtabOrders));&lt;br /&gt;
    jfrm.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public void valueChanged(ListSelectionEvent le) {&lt;br /&gt;
    String str = &amp;quot;Selected Row(s): &amp;quot;;&lt;br /&gt;
    int[] rows = jtabOrders.getSelectedRows();&lt;br /&gt;
    for (int i = 0; i &amp;lt; rows.length; i++)&lt;br /&gt;
      str += rows[i] + &amp;quot; &amp;quot;;&lt;br /&gt;
    str += &amp;quot;Selected Column(s): &amp;quot;;&lt;br /&gt;
    int[] cols = jtabOrders.getSelectedColumns();&lt;br /&gt;
    for (int i = 0; i &amp;lt; cols.length; i++)&lt;br /&gt;
      str += cols[i] + &amp;quot; &amp;quot;;&lt;br /&gt;
    str += &amp;quot;Selected Cell: &amp;quot; + jtabOrders.getSelectedRow() + &amp;quot;, &amp;quot;&lt;br /&gt;
        + jtabOrders.getSelectedColumn();&lt;br /&gt;
    System.out.println(str);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    new Main();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  ListSelectionModel rowSelMod = JTable.getSelectionModel(); ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
import javax.swing.event.ListSelectionEvent;&lt;br /&gt;
import javax.swing.event.ListSelectionListener;&lt;br /&gt;
import javax.swing.event.TableModelEvent;&lt;br /&gt;
import javax.swing.event.TableModelListener;&lt;br /&gt;
import javax.swing.table.TableModel;&lt;br /&gt;
public class Main implements ListSelectionListener {&lt;br /&gt;
  String[] headings = { &amp;quot;Name&amp;quot;, &amp;quot;Customer ID&amp;quot;, &amp;quot;Order #&amp;quot;, &amp;quot;Status&amp;quot; };&lt;br /&gt;
  Object[][] data = { { &amp;quot;A&amp;quot;, new Integer(3), &amp;quot;0&amp;quot;, new Date() },&lt;br /&gt;
      { &amp;quot;B&amp;quot;, new Integer(6), &amp;quot;4&amp;quot;, new Date() }, { &amp;quot;C&amp;quot;, new Integer(9), &amp;quot;9&amp;quot;, new Date() },&lt;br /&gt;
      { &amp;quot;D&amp;quot;, new Integer(7), &amp;quot;1&amp;quot;, new Date() }, { &amp;quot;E&amp;quot;, new Integer(4), &amp;quot;1&amp;quot;, new Date() },&lt;br /&gt;
      { &amp;quot;F&amp;quot;, new Integer(8), &amp;quot;2&amp;quot;, new Date() }, { &amp;quot;G&amp;quot;, new Integer(6), &amp;quot;1&amp;quot;, new Date() } };&lt;br /&gt;
  JTable jtabOrders = new JTable(data, headings);&lt;br /&gt;
  TableModel tm;&lt;br /&gt;
  Main() {&lt;br /&gt;
    JFrame jfrm = new JFrame(&amp;quot;JTable Event Demo&amp;quot;);&lt;br /&gt;
    jfrm.setSize(400, 200);&lt;br /&gt;
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    &lt;br /&gt;
    jtabOrders.setPreferredScrollableViewportSize(new Dimension(420, 62));&lt;br /&gt;
    ListSelectionModel rowSelMod = jtabOrders.getSelectionModel();&lt;br /&gt;
    ListSelectionModel colSelMod = jtabOrders.getColumnModel().getSelectionModel();&lt;br /&gt;
    rowSelMod.addListSelectionListener(this);&lt;br /&gt;
    colSelMod.addListSelectionListener(this);&lt;br /&gt;
    tm = jtabOrders.getModel();&lt;br /&gt;
    tm.addTableModelListener(new TableModelListener() {&lt;br /&gt;
      public void tableChanged(TableModelEvent tme) {&lt;br /&gt;
        if (tme.getType() == TableModelEvent.UPDATE) {&lt;br /&gt;
          System.out.println(&amp;quot;Cell &amp;quot; + tme.getFirstRow() + &amp;quot;, &amp;quot; + tme.getColumn() + &amp;quot; changed.&amp;quot;&lt;br /&gt;
              + &amp;quot; The new value: &amp;quot; + tm.getValueAt(tme.getFirstRow(), tme.getColumn()));&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    jfrm.add(new JScrollPane(jtabOrders));&lt;br /&gt;
    jfrm.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public void valueChanged(ListSelectionEvent le) {&lt;br /&gt;
    String str = &amp;quot;Selected Row(s): &amp;quot;;&lt;br /&gt;
    int[] rows = jtabOrders.getSelectedRows();&lt;br /&gt;
    for (int i = 0; i &amp;lt; rows.length; i++)&lt;br /&gt;
      str += rows[i] + &amp;quot; &amp;quot;;&lt;br /&gt;
    str += &amp;quot;Selected Column(s): &amp;quot;;&lt;br /&gt;
    int[] cols = jtabOrders.getSelectedColumns();&lt;br /&gt;
    for (int i = 0; i &amp;lt; cols.length; i++)&lt;br /&gt;
      str += cols[i] + &amp;quot; &amp;quot;;&lt;br /&gt;
    str += &amp;quot;Selected Cell: &amp;quot; + jtabOrders.getSelectedRow() + &amp;quot;, &amp;quot;&lt;br /&gt;
        + jtabOrders.getSelectedColumn();&lt;br /&gt;
    System.out.println(str);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    new Main();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Row selection is enabled, Get the indices of the selected rows ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTable table = new JTable();&lt;br /&gt;
    if (!table.getColumnSelectionAllowed() &amp;amp;&amp;amp; table.getRowSelectionAllowed()) {&lt;br /&gt;
      // &lt;br /&gt;
      int[] rowIndices = table.getSelectedRows();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Toggles the selection state, if it were called again, it exactly reverses the first call. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
import javax.swing.ListSelectionModel;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    int rows = 10;&lt;br /&gt;
    int cols = 5;&lt;br /&gt;
    JTable table = new JTable(rows, cols);&lt;br /&gt;
    table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);&lt;br /&gt;
    table.setColumnSelectionAllowed(true);&lt;br /&gt;
    table.setRowSelectionAllowed(true);&lt;br /&gt;
    boolean toggle = true;&lt;br /&gt;
    boolean extend = false;&lt;br /&gt;
    table.changeSelection(1, 3, toggle, extend);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>