在资源管理器中选择用于Java的文件

在资源管理器中选择用于Java的文件,java,windows,Java,Windows,我正在尝试编写一个程序,该程序将使用新文件的不同名称在同一目录中复制先前存在的文件。我已经对文件副本的所有“幕后”操作进行了编程。我现在要做的是,当程序启动时,弹出一个windows资源管理器对话框窗口,要求选择要复制的原始文件。我该怎么做呢?在JavaSwing中,使用“.” 如果你需要它,我可以输入一个例子。 你应该考虑创建JavaFX应用程序。它包含在现代Java发行版中。只要看看这张照片。例如,这可能类似于 package blahblah; import java.io.File;

我正在尝试编写一个程序,该程序将使用新文件的不同名称在同一目录中复制先前存在的文件。我已经对文件副本的所有“幕后”操作进行了编程。我现在要做的是,当程序启动时,弹出一个windows资源管理器对话框窗口,要求选择要复制的原始文件。我该怎么做呢?

在JavaSwing中,使用“.”


如果你需要它,我可以输入一个例子。

你应该考虑创建JavaFX应用程序。它包含在现代Java发行版中。只要看看这张照片。例如,这可能类似于

package blahblah;

import java.io.File;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.FileChooser;
import javafx.stage.Stage;

public class BlahBlah extends Application {

    @Override
    public void start(Stage primaryStage) {
        StackPane root = new StackPane();

        // add some elements to root

        FileChooser fileChooser = new FileChooser();
        File file = fileChooser.showOpenDialog(primaryStage);
        //for example:
        System.out.println("File chosen: " + file.getAbsolutePath());

        Scene scene = new Scene(root, 300, 250);

        primaryStage.setScene(scene);
        primaryStage.show();
    }
}
你需要使用class。它是JDK中包含的一个类。不需要任何第三方库


您可以找到一个简单的示例

搜索Swing和JFileChooser!如果这看起来是个愚蠢的问题,那么很抱歉,但是swing是否包含在java中,或者它是否需要下载外部类?除此之外,我不认为我需要您键入一个示例,尽管我非常感谢您的建议。@user3317176下载JDK,它就包装在里面了!非常感谢!另外,是我希望执行的“文件选择器”操作的通用术语吗?这当然是一个非常漂亮的选项,但似乎我对使用此代码的了解有点超出我的理解范围。我会阅读文件,看看这是否有帮助。另外,这是包含在JDK中的,还是需要下载外部类?它是从JDK 7(我不记得更新)开始就包含在JDK中的,您是否添加了任何特定于它的内容???请仅在答案之前不存在的情况下发布答案,不要只是为了获得上升票而添加答案,它可能会让你获得下降票!