gpt4 book ai didi

java - 如何使整个JTable不可编辑

转载 作者:行者123 更新时间:2023-12-01 22:36:16 25 4
gpt4 key购买 nike

我想为完整的 JTable 设置 setEditable(false),但我不知道如何执行此操作。我浏览了很多网站,但到处都发现了这段代码

DefaultTableModel model = new DefaultTableModel(6,7){
public boolean isCellEditable(int row, int column)
{
return false;
}
};

上面的代码似乎特定的行和列不可编辑,但如何使整个表格不可编辑。

这是我的表代码,其中数据来自 MySQL 数据库 -

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);
}

谢谢

最佳答案

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.

无论行和列的值是什么,该方法都会返回 false。因此,对于所有行和所有列,相应的单元格都是不可编辑的,这正是您想要的。

关于java - 如何使整个JTable不可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26831591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com