2017-07-04 9 views
-2

Javaメールメッセージ[]を返す方法があります。ここで件名の文字列、from文字列、所得の日付をjavafxテーブルビューに表示します。テーブル内のデータをクリックすると、メッセージからテキストフィールドに電子メールテキストを取得しようとします。私はそれをどのように実現するのか分かりません。Javafail Message [] in Javafx TableView

答えて

1

電子メールを含むTableViewに値を割り当てる必要がある場合は、非表示にすることができます。次に、TableViewでマウスイベントを作成して電子メールテキストを取得し、TextFieldに設定します。

public void printTable(TableView<ObservableList> table, String subject, String from, Date date, String email) { 

    //Data. 
    ObservableList<ObservableList> data = FXCollections.observableArrayList(); 

    //Columns. 
    javafx.scene.control.TableColumn col = new javafx.scene.control.TableColumn(); 
    col.setText("Subject"); 
    table.getColumns().addAll(col); 

    javafx.scene.control.TableColumn col2 = new javafx.scene.control.TableColumn(); 
    col.setText("From"); 
    table.getColumns().addAll(col2); 

    javafx.scene.control.TableColumn col3 = new javafx.scene.control.TableColumn(); 
    col.setText("Date"); 
    table.getColumns().addAll(col3); 

    javafx.scene.control.TableColumn col4 = new javafx.scene.control.TableColumn(); 
    col.setText("Email"); 
    table.getColumns().addAll(col4); 

    //Row. 
    ObservableList<String> row = FXCollections.observableArrayList(); 

    row.add(subject); 
    row.add(from); 
    row.add(date.toString()); 
    row.add(email); 

    //Adding the row to the data. 
    data.add(row); 

    //Setting the data of the table. 
    table.setItems(data); 

    //Hiding the email column. 
    table.getColumns().get(4).setVisible(false); 
} 

@FXML 
private void tablePressed() { 
    if(table.getSelectionModel().getSelectedItem() != null) { 
     String message = table.getSelectionModel().getSelectedItem().get(4).toString(); 
     textField.setText(message); 
    } 
}