ZBLOG

javafx给按钮加命令模式

在JavaFX中,可以使用Lambda表达式和命令模式来实现给按钮添加功能。下面是一个示例代码:

首先定义一个接口Command,该接口包含了要执行的操作:

public interface Command {
    void execute();
}

然后创建两个类:OpenFileCommand和SaveFileCommand,分别表示打开文件和保存文件的操作。

public class OpenFileCommand implements Command {
    private FileChooser fileChooser;
    private Stage primaryStage;

    public OpenFileCommand(Stage primaryStage) {
        this.primaryStage = primaryStage;
        fileChooser = new FileChooser();
        fileChooser.setTitle("Open Resource File");
        fileChooser.getExtensionFilters().addAll(
                new ExtensionFilter("Text Files", "*.txt"),
                new ExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif"),
                new ExtensionFilter("Audio Files", "*.wav", "*.mp3", "*.aac"));
    }

    @Override
    public void execute() {
        File selectedFile = fileChooser.showOpenDialog(primaryStage);
        if (selectedFile != null) {
            System.out.println(selectedFile.getAbsolutePath());
        }
    }
}

public class SaveFileCommand implements Command {
    private Stage primaryStage;

    public SaveFileCommand(Stage primaryStage) {
        this.primaryStage = primaryStage;
    }

    @Override
    public void execute() {
        FileChooser fileChooser = new FileChooser();
        fileChooser.setTitle("Save Resource File");
        fileChooser.getExtensionFilters().addAll(
                new ExtensionFilter("Text Files", "*.txt"),
                new ExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif"),
                new ExtensionFilter("Audio Files", "*.wav", "*.mp3", "*.aac"));
        File selectedFile = fileChooser.showSaveDialog(primaryStage);
        if (selectedFile != null) {
            System.out.println(selectedFile.getAbsolutePath());
        }
    }
}

接下来,我们创建一个带有两个按钮的UI,一个用于打开文件,另一个用于保存文件。当用户单击按钮时,将执行相应的操作。

”`java public class Main extends Application {

@Override
public void start(Stage primaryStage) throws Exception{
    Command openCommand = new OpenFileCommand(primaryStage);
    Command saveCommand = new SaveFileCommand(primaryStage);

    Button openButton = new Button("Open File");
    openButton.setOnAction(event -> openCommand.execute());

    Button saveButton = new Button("Save File");
    saveButton.setOnAction(event -> save

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=3576

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?