使用javaFx表视图显示所选行的内容

时间:2017-05-12 06:16:35

标签: java swing javafx javafx-2

我有一个javafx表,我希望显示在不同表单上点击的任何行的内容。 下面是我尝试使用的方法,它没有给出预期的响应,尽管在我的SceneBuilder中,我将此方法添加到MouseClicked事件中。

public void selectedRow() throws SQLException{
        int row = studentTable.getSelectionModel().getSelectedIndex();
        String sql = "select * from student where id= '" + row + "'";
            pst = conn.prepareStatement(sql);
            rs = pst.executeQuery();
            if (rs.next()) {
                String add1 = rs.getString("school_name");
                System.out.println("The selected row is ==> "+ add1);
            }
    }

注意:我曾经尝试使用Jframe这样的东西给了我预期的响应,在我的Jframe中...这是用于完成工作的方法。

private void all_storesMouseClicked(java.awt.event.MouseEvent evt) {                                        
        // TODO add your handling code here:
        try {
            int row = studentTable.getSelectedRow();
            String stores_click = (studentTable.getModel().getValueAt(row, 0)).toString();
            String sql = "select * from student where id= '" + stores_click + "'";
            pst = conn.prepareStatement(sql);
            rs = pst.executeQuery();
            if (rs.next()) {
                String add1 = rs.getString("school_name");
                System.out.println("The selected row is ==> "+ add1);
            }
    }

我将很感激如何解决这个问题。 非常感谢你的时间。

1 个答案:

答案 0 :(得分:1)

你需要做的只是利用split方法来获取你选择的行的索引,以及我的意思。

String values = String.valueOf(studentTable.getSelectionModel().getSelectedItem());
String row = values.toString().split(",")[0].substring(1);

所以,在你上面的功能中,下面的一些调整将为你完成工作。

public void selectedRow() throws SQLException{
        String values = 
        String.valueOf(studentTable.getSelectionModel().getSelectedItem());
        String row = values.toString().split(",")[0].substring(1);
        String sql = "select * from student where id= '" + row + "'";
            pst = conn.prepareStatement(sql);
            rs = pst.executeQuery();
            if (rs.next()) {
                String add1 = rs.getString("school_name");
                System.out.println("The selected row is ==> "+ add1);
            }
    }

我希望你得到我在那里解释的内容。