The Java Developers Almanac 1.4


Order this book from Amazon.

   
Home > List of Packages > javax.swing.table  [62 examples] > Selection  [6 examples]

e943. Disabling Selections in a JTable Component

The only way to completely prevent a selection in a JTable component is to prevent it from getting the focus using setFocusable(false). However, if you still need keystrokes to work in the component, this method is not an option.

The next closest way to disable selections is to call setCellSelectionEnabled(false). After this call, isCellSelected() correctly returns false for every cell. However, getSelectedRows() and getSelectedColumns() do not return empty arrays as expected. Instead, the anchor cell (e944 Getting the Anchor Cell in a JTable Component) will be considered selected. Therefore, if you are using these methods, make sure you ignore the results if getCellSelectionEnabled() returns false.

    int rows = 10;
    int cols = 5;
    JTable table = new JTable(rows, cols);
    
    // Do this only if there's no need for the component to have the focus
    table.setFocusable(false);
    
    // Partially disables selections (see description above)
    table.setCellSelectionEnabled(false);

 Related Examples
e939. Enabling Row, Column, or Cell Selections in a JTable Component
e940. Enabling Single or Multiple Selections in a JTable Component
e941. Programmatically Making Selections in a JTable Component
e942. Getting the Selected Cells in a JTable Component
e944. Getting the Anchor Cell in a JTable Component

See also: Cells    Column Heads    Columns    Editing    Events    Layout    Rows    Scrolling    Sorting    Table Model    Tool Tips   


© 2002 Addison-Wesley.