Disabling User Edits in a JTable Component

User editing can be disabled in two places. By disabling edits in the model, no table component using that model will allow editing by the user. By disabling edits in the table component, only that component disallows edits; other table components using the same model will allow editing.

Disabling edits requires subclassing either the JTable or TableModel class.

Note: Although user editing is disabled, programmatically changing values in the model is still possible.

// Create a JTable that disallow edits JTable table1 = new JTable() { public boolean isCellEditable(int rowIndex, int vColIndex) { return false; } }; // Create a JTable based on the same model as table1 but allows edits JTable table2 = new JTable(table1.getModel()); // Create a model that disallows edits; JTable's using this model will not allow edits TableModel model = new DefaultTableModel() { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } };

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.