JavaFX コントローラの TextArea 値を他のクラスから変更するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-03 21:55:02
オリジナル
919 人が閲覧しました

How to Modify TextArea Values in JavaFX Controllers from Other Classes?

JavaFX コントローラー クラス エラー

問題:
多くの開発者は、特に JavaFX コントローラーの実装に苦労しています。他のクラスの TextArea 値を変更します。 Initializable を拡張するコントローラー クラスを作成しようとすると、多くの場合、問題が発生します。

修正:

Application クラスをコントローラーとして使用することは避けてください。代わりに、Initializable などの JavaFX のコントローラー クラスの 1 つを拡張する別のコントローラー クラスを作成します。

さらに、@FXML コード ブロックを Main クラスから分離し、コントローラー クラス内に配置します。この分離により、他のクラスからシーンを簡単に更新できるようになります。

例:

サンプル実装:

// Controller class (extends Initializable)
public class ImportController implements Initializable {
    // ...

    @Override
    public void initialize(URL location, ResourceBundle resources) {
        // Initialize the controller
    }

    @FXML
    protected void changeTextAreaValue(String newText) {
        // Update the TextArea value
    }
}

// Main class (loads the FXML and controller)
public class Main extends Application {
    // ...

    @Override
    public void start(Stage primaryStage) {
        try {
            FXMLLoader loader = new FXMLLoader();
            loader.setController(new ImportController());
            Parent root = loader.load(getClass().getResource("Root.fxml"));

            // ...
        }
        // ...
    }
}
ログイン後にコピー

追加の注意事項:

  • UI が機能するまでは、マルチスレッド コードを避けてください。
  • 効率的な JavaFX ロギングのために、サードパーティのロギング フレームワーク (JFXLogger など) の使用を検討してください。 .

以上がJavaFX コントローラの TextArea 値を他のクラスから変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート