Javamail Message[] 到 Javafx TableView
Javamail Message[] into Javafx TableView
我有一个方法可以返回 Java 邮件 Message[]。现在,我将在 javafx table 视图中显示主题字符串、发件人字符串和收入日期。如果我点击 table 中的数据,我将尝试将邮件文本从消息中获取到文本字段中。我不知道如何实现它。
您需要将值分配给 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);
}
}
我有一个方法可以返回 Java 邮件 Message[]。现在,我将在 javafx table 视图中显示主题字符串、发件人字符串和收入日期。如果我点击 table 中的数据,我将尝试将邮件文本从消息中获取到文本字段中。我不知道如何实现它。
您需要将值分配给 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);
}
}