Java Switch Case错误

时间:2016-07-06 09:57:43

标签: java

我在这里试图做一个切换案例来发送数据到JTable但是它运行案例x,它不会向表发送任何东西。 我会把代码放在这里,如果你们能帮助我,我会感激不尽。

功能开关盒

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

1 个答案:

答案 0 :(得分: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];
            }
        });

会为表创建一个新的TableModel。 因此,当您稍后继续向现有模型中添加名为“model”的模型时,无人问津,因为它不再是表格的模型。