Java开关大小写错误
我在这里试图做一个switch case来向JTable发送数据,但尽管它运行case x,但它不会向表发送任何数据。 我会把代码放在这里,如果你们能帮我,我将不胜感激 功能开关箱Java开关大小写错误,java,Java,我在这里试图做一个switch case来向JTable发送数据,但尽管它运行case x,但它不会向表发送任何数据。 我会把代码放在这里,如果你们能帮我,我将不胜感激 功能开关箱 private void gerar(int x) { DefaultTableModel model = (DefaultTableModel) jTable1.getModel(); model.setRowCount(0); Connection con
private void gerar(int x) {
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
model.setRowCount(0);
Connection conn = null;
Statement stmt = null;
switch (x) {
case 1:
System.out.println("Case 1");
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object[][]{},
new String[]{
"Utilizador", "Password"
}
) {
boolean[] canEdit = new boolean[]{
false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit[columnIndex];
}
});
model.setRowCount(0);
try {
System.out.println("Try 1");
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
stmt = conn.createStatement();
String sql = "SELECT * FROM login";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String idd = rs.getString("UTILIZADOR");
String pass = rs.getString("PASSWORD");
model.addRow(new Object[]{idd, pass});
}
System.out.println("While 1");
rs.close();
stmt.close();
conn.close();
} catch (SQLException | ClassNotFoundException se) {
se.printStackTrace();
} finally {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
System.out.println("Case 6");
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object[][]{},
new String[]{
"Sigla", "Nome", "Faltas JustC", "Faltas InjustC", "Faltas JustS", "Faltas injustS", "DataIni", "DataFim", "Email"
}
) {
boolean[] canEdit = new boolean[]{
false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit[columnIndex];
}
});
model.setRowCount(0);
try {
System.out.println("Try 6");
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
stmt = conn.createStatement();
String sql = "SELECT * FROM cursos";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String idd = rs.getString("Sigla");
String pass = rs.getString("Nome");
int fjc = rs.getInt("FALTASJUSTIFICADASC");
int fijc = rs.getInt("FALTASINJUSTIFICADASC");
int fjs = rs.getInt("FALTASJUSTIFICADASS");
int fijs = rs.getInt("FALTASINJUSTIFICADASS");
int di = rs.getInt("DATA_INICIO");
int df = rs.getInt("DATA_FIM");
String em = rs.getString("EMAIL");
model.addRow(new Object[]{idd, pass, fjc, fijc, fjs, fijs, di, df, em});
}
System.out.println("While 6");
rs.close();
stmt.close();
conn.close();
} catch (SQLException | ClassNotFoundException se) {
se.printStackTrace();
} finally {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
break;
case 7:
break;
case 8:
break;
case 9:
break;
case 10:
break;
case 11:
break;
case 12:
break;
default:
break;
}
}
}
这叫什么
private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {
sv();
gerar(1);
id1.setEditable(false);
n1.setText("Utilizador:");
n2.setText("Password:");
n3.setVisible(false);
n4.setVisible(false);
n5.setVisible(false);
n6.setVisible(false);
n7.setVisible(false);
n8.setVisible(false);
n9.setVisible(false);
nn3.setVisible(false);
nn4.setVisible(false);
nn5.setVisible(false);
nn6.setVisible(false);
nn7.setVisible(false);
nn8.setVisible(false);
nn9.setVisible(false);
}
它不会发送任何东西到桌子上,因为
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object[][]{},
new String[]{
"Utilizador", "Password"
}
) {
boolean[] canEdit = new boolean[]{
false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit[columnIndex];
}
});
为该表创建新的TableModel。
因此,当您以后继续向名为“Model”的现有模型添加行时,没有人会在意,因为它已经不再是表的模型了。您的程序会遇到哪种情况?你有没有用调试器一步一步地调试你的程序?我运行了debug,它做了所有的事情,但仍然没有写在表上。。。我不知道为什么对不起,我不明白你在说什么said@HugoHenriques您正在更新一个模型,但表中显示了另一个模型。是的,我已经更正了,谢谢:)