【发布时间】:2016-03-01 04:34:01
【问题描述】:
如何制作适用于每个按钮的句柄,这样我就不必为每个按钮制作几乎相同的句柄?
所以我有一个包含 9 个联系人的 FXML 文件,每个联系人如下所示:
<Button fx:id="id1" mnemonicParsing="false" onAction="#handleContactEmailButtonAction" prefHeight="60.0" prefWidth="380.0" style="-fx-background-color: white;">
<graphic>
<VBox style="-fx-background-color: white; -fx-border-color: white;">
<children>
<Label prefHeight="30.0" prefWidth="334.0" text="Jane Doe" />
<Label prefHeight="17.0" prefWidth="349.0" text="jdoe@britishschool.sch.ae" textAlignment="CENTER" />
</children>
</VBox>
</graphic>
</Button>
这是控制器:
@FXML
private Button id1;
@FXML
private Button id2;
@FXML
private Button id3;
@FXML
private Button id4;
@FXML
private Button id5;
@FXML
private Button id6;
@FXML
private Button id7;
@FXML
private Button id8;
@FXML
private Button id9;
@FXML
protected void handleContactEmailButtonAction(ActionEvent event) {
try {
Desktop desktop = Desktop.getDesktop();
String message = "mailto:"+emailvariable+"?subject=Music%20Bookings";
URI uri = URI.create(message);
desktop.mail(uri);
} catch (Exception e) {
e.printStackTrace();
}
}
因此,如果单击带有 fx:id="id1" 的按钮,则电子邮件变量会更改为相关标签中的电子邮件,并且全部使用一个控制器?
感谢您的任何帮助,谢谢!
【问题讨论】:
标签: email button javafx controller fxml