小编Kor*_*ann的帖子

Javafx 任务/线程未启动

我有一个 JavaFX 程序,我想在其中导入一个文件并从该文件中读取所有内容(应该是 .txt)并将其写入一个字符串,以便我可以对其进行处理。因为文件有时很大,让我的程序说“无响应”之类的,我想添加一个 ProgressBar,以显示当前的进度并阻止程序崩溃。

起初,我只是在对话框中添加了一个 ProgressBar,它会根据绑定打开和更新。但是 GUI 没有更新,所以我发现我必须做一个在后台运行的新线程,所以我的程序不会停止响应。所以我把所有的东西都打包成一个任务并用一个线程开始任务,但是现在带有 ProgressBar 的 Dialog 甚至没有出现,所以我调试它并发现程序甚至没有执行任务,就像, 没有做任何事情就过去了。

这是我当前的代码,我希望任何人都可以帮助我解决我的问题或向我解释任务/线程:

我的处理程序:

package application.handler;

import application.data.KTChat;
import application.gui.MyRootPane;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.Button;
import javafx.scene.control.MenuItem;
import javafx.stage.FileChooser;
import javafx.stage.Stage;

public class MyHandler implements EventHandler<ActionEvent> {
    private MyRootPane mp;
    private FileChooser fc;
    private Stage primaryStage;
    private KTChat kt;

    public MyHandler(MyRootPane mp, Stage primaryStage) {
        this.mp = mp;
        fc = new FileChooser();
        fc.getExtensionFilters().add(new FileChooser.ExtensionFilter("Text files (*.txt)", "*.txt"));
        this.primaryStage = primaryStage;
        kt = new KTChat(mp);
    }

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

java user-interface multithreading task

5
推荐指数
1
解决办法
1305
查看次数

标签 统计

java ×1

multithreading ×1

task ×1

user-interface ×1