2017-05-12 10 views
0

javafxテーブルがあるので、別のフォームでクリックされている行の内容を表示することができます。 私は、私のSceneBuilderでは、私はこのメソッドをMouseClickedイベントに追加しましたが、私が使用しようとしたメソッドは、期待された応答を与えていません。javaFxテーブルビューを使用して選択した行のコンテンツを表示

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

あなたがする必要があるのは、選択した行のインデックスを取得するために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); 
      } 
    } 

私はあなたがそこで説明したものを得ることを望みます。

関連する問題