I want to set setEditable(false) for complete JTable, but I am not aware how to do this. I gone through many sites but everywhere I found this code
DefaultTableModel model = new DefaultTableModel(6,7){
public boolean isCellEditable(int row, int column)
{
return false;
}
};
Above code seems that specific row and column is non editable but how can I make the complete table non editable.
Here is my code for table where data are coming from MySQL database -
GridBagConstraints gbc = new GridBagConstraints();
jbutton1=new JButton("Close");
setTitle("Customer List");
JPanel panel = new JPanel(new GridBagLayout());
this.getContentPane().add(panel);
String[] columnNames = {"Account No", "Customer Name", "Account Type", "Credit Limit"};
DefaultTableModel model = new DefaultTableModel();
model.setColumnIdentifiers(columnNames);
table = new JTable();
table.setModel(model);
table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
table.setFillsViewportHeight(true);
JScrollPane scroll = new JScrollPane(table);
scroll.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scroll.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
String accno= "";
String name= "";
String type = "";
String limit = "";
try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/banking_prj","root","");
String sql = "select * from customer ORDER BY account_no";
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next())
{
accno = rs.getString(1);
name = rs.getString(2);
type = rs.getString(3);
limit = Double.toString(rs.getDouble(4));
model.addRow(new Object[]{accno, name, type, limit});
}
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, ex.getMessage(),"Error",
JOptionPane.ERROR_MESSAGE);
}
Thank you