小编Wak*_*age的帖子

JavaFX:将控制台输出重定向到在 SceneBuilder 中创建的 TextArea

编辑 4

我已经创建了一个简单的示例,它应该可以让您了解当前正在发生的事情。

现在发生的事情是,每当我单击按钮将“HELLO WORLD”打印到 TextArea 时,程序都会挂起并使用 100% 的 CPU。Eclipse 控制台面板中也没有输出。

Main.java

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {
        try {
            Parent root = FXMLLoader.load(getClass().getResource("/application/test.fxml"));
            Scene scene = new Scene(root);
            primaryStage.setScene(scene);
            primaryStage.show();


        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

MainController.java

public class MainController {

    @FXML
    private TextArea console;
    private PrintStream ps = new PrintStream(new Console(console));

    public void button(ActionEvent event) {
        System.setOut(ps);
        System.setErr(ps);
        System.out.println("Hello World");
    }

    public …
Run Code Online (Sandbox Code Playgroud)

java console textarea javafx scenebuilder

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

标签 统计

console ×1

java ×1

javafx ×1

scenebuilder ×1

textarea ×1