当用户第一次启动软件时,我想弹出一个窗口来选择文件位置。我是javafx的新手,我在网上寻找答案,但没有成功...... 提前致谢
答案 0 :(得分:1)
我想我找到了它。
primaryStage.setOnShowing(event -> {
//Code here
});
它在首次启动时执行操作。我不知道这是否是最佳方式,但我就是这样做的。我已经有一个大约3行的文件。我刚刚添加了第4个随机单词,当用户启动应用程序时,它会检查文件中是否存在该单词。如果是这样,它什么都不做。如果没有,它会要求用户选择文件夹,如果选择成功,则写下单词。
答案 1 :(得分:0)
首先,我想指出,你的措辞可能不够清晰,大多数人都无法准确理解你的需要。我将假设您有一些设置(如默认应用程序存储目录),您需要用户在第一次运行JAR时指定。如果随后运行JAR文件,则不应再次提示该文件并使用先前指定的设置。
通常,当用户运行JAR文件时,所有数据都将在该会话中被隔离。如果用户关闭应用程序并再次打开应用程序,它的行为就像上一次运行一样。
如果您需要保留这些数据或设置,可以使用Properties
。这会将数据保存在单独的文件中。通常的惯例是将其保存在与JAR文件相同的文件夹中,并命名为config.properties
。
在应用程序开始时,您应检查此文件是否存在,如果该文件不存在,则表示这是第一次运行。随后,当用户设置数据(例如文件夹)时,您将其保存到文件中。
您可以找到示例here。
答案 2 :(得分:-1)
为了实现文件选择器,我们可以使用 JavaFX 的FileChooser
。这将打开一个窗口,让我们有机会选择一个文件。
您要求的是在进入实际申请之前import os
os.system("taskkill /f /im Your_Process_Name.exe")
打开。让我们来看看类似的实现!
首先,我们需要一个 JavaFX FileChooser
类,如果我们要从中创建一个新实例,它将打开一个窗口:
Application
我确信你已经知道了 - 像这样的课程会打开一个新的窗口。这是我们使用public class App extends Application
{
private final File file;
public App(File file)
{
this.file = file;
// Optionally provide ‘launch’ with some arguments
Application.launch();
}
@Override
public void start(final Stage stage)
{
// ...
stage.setScene(new Scene(insertNodeHere));
}
}
类中的File
检索FileChooser
后我们将要调用的单独的应用程序类。
在我们的main
课程中,我们会说明这一点:
main
如果所选文件未显示为File file = fileChooser.showOpenDialog(stage);
if (file != null)
new App(file);
,则会启动您的应用程序。
考虑到上面的实现,您可以根据自己的喜好复杂化。也许您希望应用程序启动,即使该文件为空?在这种情况下,不需要null
语句。