[英]Disable JTable cell in Java Netbeans
我需要在 Java Netbeans 中的 Jtable 中的每个单元格中禁用双击编辑。 JTable 连接到 sqlite 数据库并显示数据库表记录。
private void DisplayTable() {
try{
Class.forName("org.sqlite.JDBC");
Connection conn=DriverManager.getConnection("jdbc:sqlite:clientrec.sqlite");
String sql = "SELECT * FROM client";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
t1.setModel(DbUtils.resultSetToTableModel (rs));
}
catch (Exception e){
JOptionPane.showMessageDialog(null, e);
} finally{
try{
rs.close();
pst.close();
}
catch(Exception e){
}
}
}
我还为 jtable 创建了 onmouseclick 事件,以在 Jtextfields、combobox、jcalendar 中显示选择
private void t1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
DefaultTableModel model=(DefaultTableModel) t1.getModel();
int number=t1.getSelectedRow();
String tc=t1.getModel().getValueAt(number, 0).toString();
try{
Class.forName("org.sqlite.JDBC");
Connection conn=DriverManager.getConnection("jdbc:sqlite:clientrec.sqlite");
String sql = "SELECT * FROM client WHERE ID="+tc+"";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
if(rs.next()){
String id=rs.getString("ID");
String fullname=rs.getString("FullName");
String phone=rs.getString("Phone");
String allergy=rs.getString("Allergy");
String date=rs.getString("Date1");
String budgetpayed=rs.getString("BudgetPayed");
String totalbudget=rs.getString("TotalBudget");
String budgetleft=rs.getString("BudgetLeft");
String currency=rs.getString("Currency");
String datea=rs.getString("Dateappointment");
String description=rs.getString("Description");
FullName.setText(fullname);
Phone.setText(phone);
Allergy.setText(allergy);
((JTextField)Date1.getDateEditor().getUiComponent()).setText(date);
BudgetP.setText(budgetpayed);
TBudget.setText(totalbudget);
BudgetL.setText(budgetleft);
Curr.setSelectedItem(currency);
((JTextField)Date2.getDateEditor().getUiComponent()).setText(datea);
Desc.setText(description);
}
}catch (Exception ex){
JOptionPane.showMessageDialog(null, ex);
}
}
覆盖 JTable 的JTable
isCellEditable(...)
方法:
JTable table = new JTable(...)
{
@Override
public boolean isCellEditable(int row, int column)
{
return false;
}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.