JavaFX控制器类无法正常工作
我真的很难理解JavaFX控制器,我的目标是写一个TextArea来充当日志。
我的代码如下,但我希望能够在需要时从另一个类中更改值ETC。我试图创建一个扩展Initializable的控制器类,但我不能让它工作。有人可以引导我朝正确的方向前进吗?
我想将底部的@FXML代码移动到另一个类并更新Scene。
package application;import javafx.event.ActionEvent;import javafx.scene.control.Label;import javafx.scene.control.TextArea;import java.io.IOException;import javafx.application.Application;import javafx.fxml.FXML;import javafx.fxml.FXMLLoader;import javafx.stage.Stage;import javafx.scene.Parent;import javafx.scene.Scene;public class Main extends Application { @Override public void start(Stage primaryStage) { try { Parent root = FXMLLoader.load(getClass().getResource("Root.fxml")); Scene scene = new Scene(root,504,325); scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); primaryStage.setScene(scene); primaryStage.show(); } catch(Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); } public Thread thread = new Thread(new webimporter()); @FXML public Label runningLabel; @FXML public TextArea txtArea; @FXML void runClick(ActionEvent event) throws IOException{ changeLabelValue("Importer running..."); thread.start(); } @FXML protected void stopClick(ActionEvent event){ changeLabelValue("Importer stopped..."); thread.interrupt(); } @FXML void changeLabelValue(String newText){ runningLabel.setText(newText); } void changeTextAreaValue(String newText1){ txtArea.setText(newText1); }}
相关分类