我想知道是否可以在JavaFX中使用Filechooser来定位文件,然后当我点击"打开"在Filechooser中它会以某种方式将该文件的文件路径记录为String?
我已经在网上浏览了如何做到这一点,但没有看到任何解释。如果有人能给我看一些如何做到这一点的示例代码,那将非常感激:)
答案 0 :(得分:3)
FileChooser返回一个文件:
File file = chooser.showOpenDialog(stage);
您只需在文件上调用toString()
即可将文件作为字符串值:
if (file != null) {
String fileAsString = file.toString();
. . .
}
示例应用
import javafx.application.Application;
import javafx.geometry.*;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.VBox;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import java.io.File;
public class SavePath extends Application {
@Override
public void start(final Stage stage) throws Exception {
Button button = new Button("Choose");
Label chosen = new Label();
button.setOnAction(event -> {
FileChooser chooser = new FileChooser();
File file = chooser.showOpenDialog(stage);
if (file != null) {
String fileAsString = file.toString();
chosen.setText("Chosen: " + fileAsString);
} else {
chosen.setText(null);
}
});
VBox layout = new VBox(10, button, chosen);
layout.setMinWidth(400);
layout.setAlignment(Pos.CENTER);
layout.setPadding(new Insets(10));
stage.setScene(new Scene(layout));
stage.show();
}
public static void main(String[] args) throws Exception {
launch(args);
}
}