创建一个接受参数的FXML处理程序可以通过以下步骤实现:
javafx.fxml.FXML
和javafx.scene.control.Button
。@FXML
注解将这些变量与FXML文件中的对应控件进行绑定。@FXML
注解的方法,用于处理控件的事件。该方法的参数可以是任何类型,用于接受传递给该方法的参数。fx:id
属性为其指定一个唯一的标识符。onAction
属性将控件的事件与处理方法进行绑定。在onAction
属性中,指定处理方法的名称。FXMLLoader
类加载FXML文件,并将其与主类进行关联。可以使用getClass().getResource()
方法获取FXML文件的URL。FXMLLoader
的getController()
方法获取主类的实例。然后,可以使用该实例访问FXML文件中的控件。以下是一个示例代码,演示了如何创建一个接受参数的FXML处理程序:
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.event.ActionEvent;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class FXMLController {
@FXML
private Button myButton;
@FXML
private Label myLabel;
private String parameter;
public void setParameter(String parameter) {
this.parameter = parameter;
}
@FXML
private void handleButtonAction(ActionEvent event) {
myLabel.setText("Parameter: " + parameter);
}
public static void main(String[] args) {
launch(args);
}
public void start(Stage primaryStage) throws Exception {
FXMLLoader loader = new FXMLLoader(getClass().getResource("sample.fxml"));
Parent root = loader.load();
FXMLController controller = loader.getController();
controller.setParameter("Hello World!");
primaryStage.setTitle("FXML Example");
primaryStage.setScene(new Scene(root, 300, 200));
primaryStage.show();
}
}
在上述示例中,我们创建了一个FXML处理程序,其中包含一个按钮和一个标签。当按钮被点击时,标签将显示传递给程序的参数。在start()
方法中,我们使用FXMLLoader
加载了一个名为"sample.fxml"的FXML文件,并将参数设置为"Hello World!"。然后,我们创建了一个新的JavaFX舞台,并将FXML文件的根节点设置为场景的根节点。最后,我们显示了舞台。
请注意,这只是一个简单的示例,用于演示如何创建一个接受参数的FXML处理程序。实际应用中,可以根据需要进行扩展和修改。
领取专属 10元无门槛券
手把手带您无忧上云