問題タブ [eventqueue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
427 参照

java - Java クラス Eventqueue は正確には何をしますか?

JavaOracle のクラスに関する情報を読んだ後でjava.awt.EventQueueも、このクラスがどこで使用され、何ができるかはまだ明確ではありません。誰かが私のためにこれを説明してもらえますか.

0 投票する
1 に答える
259 参照

javascript - Zk マルチビュー通知

zk フレームワークを使用してプロジェクトに取り組んでいます。同時にアプリケーションを使用できる多くのユーザーがいます。

そのうちの 1 人がフィールドの値を変更して発火した場合、@notifychange他のすべてのユーザーのビューを更新したいと考えています。

たとえば、すべてのユーザーが同じページにいる場合

そのうちの1人が、他のユーザーのラベルの値を更新したいテキストフィールドの値を変更します。

で作業しようとしてeventQueueいますが、それを実装する方法がわかりませんでした。

0 投票する
1 に答える
200 参照

listbox - ページを更新した後、EventQueue.subscribe メソッドから Listbox のモデルを設定できません

EventQueue.subscribeページを更新した後、メソッドからモデルを設定できません。

.zulメイン ファイルとインクルードファイルの 2 つのページがあり.zulます。zul ごとに個別のコントローラーがあります。ユーザーが含まれているページをクリックしてlistbox顧客オブジェクトを渡すと、含まれているページのコントローラーからイベントを発行します。

メイン.zulページのコントローラで、イベントを受け取り、顧客オブジェクトを取得します。次に、その ID に基づいて、メインlistboxに対応するデータを提供します。

初めて、それはうまくいきます。イベントを受け取り、オブジェクトを取得し、リストボックスにモデルを正常に提供します。ただし、別のページに移動して戻ると、NullPointerException が発生します。ログ ファイルで、セッションは同じで、ページは破棄されていますが、デスクトップは生きていることに気付きました。ZK 5.0.10 を使用しています。


org.zkoss.zk.ui.AbstractComponent.getAttachedUiEngine(AbstractComponent.java:387) at org.zkoss.zk.ui.AbstractComponent.smartUpdate(AbstractComponent.java:1487) at org.zkoss.zk.ui.AbstractComponent.smartUpdate( AbstractComponent.java:1462) org.zkoss.zk.ui.AbstractComponent.smartUpdate(AbstractComponent.java:1495) org.zkoss.zul.Listbox.resetDataLoader(Listbox.java:2982) org.zkoss.zul.Listbox .setModel(Listbox.java:2377) で com.is.sdbooks.controller.ComposerTest.refreshModel(ComposerTest.java:169) で com.is.sdbooks.controller.ComposerTest.onDoubleClick$dataGrid(ComposerTest.java:180) でsun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) で sun.reflect.NativeMethodAccessorImpl.invoke(未知のソース) で sun.reflect.DelegatingMethodAccessorImpl.invoke(未知のソース) で java.lang.reflect.Method.invoke(未知のソース) でorg.zkoss.zk.ui.event.GenericEventListener.onEvent(GenericEventListener.java:81) org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:192) org.zkoss.zk.ui.impl.EventProcessor.process( EventProcessor.java:138) org.zkoss.zk.ui.event.Events.sendEvent(Events.java:306) org.zkoss.zk.ui.event.Events.sendEvent(Events.java:329) org .zkoss.zk.ui.AbstractComponent$ForwardListener.onEvent(AbstractComponent.java:3052) at org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:192) at org.zkoss.zk.ui.impl org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1626) の .EventProcessor.process(EventProcessor.java:138) org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java) :1410) org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1134) で org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:562) org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:457) で org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:465) で javax.servlet.http で.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org. org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve. java:191) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) で org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) で org.apache.catalina.core .StandardEngineValve.invoke(StandardEngineValve.java:109) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org .apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JioEndpoint.java:489) at java.lang.Thread.run (出典不明)

0 投票する
1 に答える
53 参照

java - Swing のメイン ウィンドウを閉じると、EventQueue の他のスレッドが作成されない

Java SE 8 デスクトップ アプリケーションを作成します。Swing UI を備えています。

プラットホーム:

  • エクリプスIDE
  • Windows 10 OS

右上隅の「X」を押してメインウィンドウを閉じると、そのようなイベントをリッスンするリスナーができます。

ここのリスナー:

そのため、リスナーを使用してウィンドウを閉じるイベントを識別し、それが発生したときに、プロジェクト (DB 上のデータ) を保存するかどうかをユーザーに尋ねます。

このメソッド ( saveUnsavedTmpProject(continueOn);) は、プロジェクトを保存する名前を取るはずの別のウィンドウにつながります。

これでCountDownLatch、ユーザーが他のパネルでプロジェクトの保存を確認/拒否するまで、メイン ウィンドウが強制的に表示されたままになります。

ウィンドウを作成してプロジェクトを保存する他のクラス メソッドは次のとおりです。

ここで、アプリを実行すると、run()メソッド内に入りません (ウィンドウがポップアップしません)。しかし、それは、上記のリスナーからのみこのメソッドにアクセスした場合にのみ発生します。CountDownLatchあり、新しいスレッドの実行を停止しているようです。

ユーザーがプロジェクトの保存を確認/拒否すると、ラッチがカウントダウンされるため、実行フローが続行されます。それでも、 に追加のスレッドを作成しますEventQueue

スレッドが停止するのはなぜですか?