第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

自動關(guān)閉 Java FX 應(yīng)用程序可能處于窗口睡眠模式

自動關(guān)閉 Java FX 應(yīng)用程序可能處于窗口睡眠模式

www說 2023-07-19 14:56:26
我是 Java FX 新手。如果用戶在一段時間內(nèi)不活動,我希望關(guān)閉我的 JavaFX 應(yīng)用程序。換句話說,如果一段時間內(nèi)沒有任何鼠標事件或按鍵事件,應(yīng)用程序會自動關(guān)閉,這可能是窗口的睡眠模式由于 innactivity ,我確實嘗試了自動關(guān)閉 JavaFX 應(yīng)用程序中的代碼。但是我的程序不起作用我從https://www.callicoder.com/javafx-fxml-form-gui-tutorial/得到一個示例。我編輯了 RegistrationFormApplication 類public class RegistrationFormApplication extends Application {?private Timeline timer;?Parent root ;@Overridepublic void start(Stage primaryStage) throws Exception{? ? ?timer = new Timeline(new KeyFrame(Duration.seconds(3600), new EventHandler<ActionEvent>() {? ? ? ? @Override? ? ? ? public void handle(ActionEvent event) {? ? ? ? ? ? // TODO Auto-generated method stub? ? ? ? ? ? root = null;? ? ? ? ? ? try {? ? ? ? ? ? ? ? root = FXMLLoader.load(getClass().getResource("/example/registration_form.fxml"));? ? ? ? ? ? } catch (IOException e) {? ? ? ? ? ? ? ? // TODO Auto-generated catch block? ? ? ? ? ? ? ? e.printStackTrace();? ? ? ? ? ? }? ? ? ? ? ? ? ? primaryStage.setTitle("Registration Form FXML Application");? ? ? ? ? ? ? ? primaryStage.setScene(new Scene(root, 800, 500));? ? ? ? ? ? ? ? primaryStage.show();? ? ? ??? ? ? ? }? ? ?}));? ? ?timer.setCycleCount(Timeline.INDEFINITE);? ? ?timer.play();? ? ?root.addEventFilter(MouseEvent.ANY, new EventHandler<Event>() {? ? ? ? ?@Override? ? ? ? ?public void handle(Event event) {? ? ? ? ? ? ?timer.playFromStart();? ? ? ? ?}? ? ?});感謝幫助
查看完整描述

1 回答

?
FFIVE

TA貢獻1797條經(jīng)驗 獲得超6個贊

獲取RxJavaFx并運行代碼。4 秒不活動(沒有任何事件)后,它將關(guān)閉應(yīng)用程序。

? ?import java.util.concurrent.TimeUnit;


? ? import io.reactivex.Observable;

? ? import io.reactivex.schedulers.Schedulers;

? ? import io.reactivex.subjects.PublishSubject;

? ? import javafx.application.Application;

? ? import javafx.application.Platform;

? ? import javafx.scene.Scene;

? ? import javafx.scene.control.TextField;

? ? import javafx.scene.input.InputEvent;

? ? import javafx.stage.Stage;

? ? import javafx.stage.WindowEvent;


? ? public class CloseAfterApp extends Application {



? ? ? ? public static void main(String[] args) {

? ? ? ? ? ? launch(args);

? ? ? ? }


? ? ? ? @Override

? ? ? ? public void start(Stage stage) throws Exception {

? ? ? ? ? ? Scene scene = new Scene(new TextField());


? ? ? ? ? ? PublishSubject<InputEvent> sceneEventPublishable = PublishSubject.create();

? ? ? ? ? ? PublishSubject<WindowEvent> windowEventPublishable = PublishSubject.create();


? ? ? ? ? ? scene.addEventFilter(InputEvent.ANY, sceneEventPublishable::onNext);

? ? ? ? ? ? stage.addEventFilter(WindowEvent.ANY, windowEventPublishable::onNext);


? ? ? ? ? ? Observable.merge(sceneEventPublishable, windowEventPublishable)

? ? ? ? ? ? .switchMap(event -> Observable.just(event).delay(4, TimeUnit.SECONDS, Schedulers.single()))

? ? ? ? ? ? .subscribe(event -> Platform.exit());


? ? ? ? ? ? stage.setScene(scene);

? ? ? ? ? ? stage.show();

? ? ? ? }

? ? }


查看完整回答
反對 回復(fù) 2023-07-19
  • 1 回答
  • 0 關(guān)注
  • 199 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號