Mega Code Archive

 
Categories / Java Tutorial / Swing Event
 

Shared ListSelectionHandler

import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; class SharedListSelectionHandler implements ListSelectionListener {   public void valueChanged(ListSelectionEvent e) {     ListSelectionModel lsm = (ListSelectionModel) e.getSource();     int firstIndex = e.getFirstIndex();     int lastIndex = e.getLastIndex();     boolean isAdjusting = e.getValueIsAdjusting();     System.out.println("Event for indexes " + firstIndex + " - " + lastIndex + "; isAdjusting is "         + isAdjusting + "; selected indexes:");     if (lsm.isSelectionEmpty()) {       System.out.println(" <none>");     } else {       // Find out which indexes are selected.       int minIndex = lsm.getMinSelectionIndex();       int maxIndex = lsm.getMaxSelectionIndex();       for (int i = minIndex; i <= maxIndex; i++) {         if (lsm.isSelectedIndex(i)) {           System.out.println(" " + i);         }       }     }   } } public class AddingTableSelectionListener {   static String labels[] = { "A", "B", "C", "D", "E", "F", "G" };   public static void main(String args[]) {     JFrame frame = new JFrame("Modifying Model");     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     String[] columnNames = { "French", "Spanish", "Italian" };     String[][] tableData = { { "un", "uno", "uno" }, { "deux", "dos", "due" },         { "trois", "tres", "tre" }, { "quatre", "cuatro", "quattro" },         { "cinq", "cinco", "cinque" }, { "six", "seis", "sei" }, { "sept", "siete", "sette" } };     JTable table = new JTable(tableData, columnNames);     table.getSelectionModel().addListSelectionListener(new SharedListSelectionHandler());     JScrollPane scrollPane1 = new JScrollPane(table);     frame.add(scrollPane1, BorderLayout.CENTER);     frame.setSize(640, 300);     frame.setVisible(true);   } }