問題タブ [invokelater]

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 に答える
111 参照

java - ルック アンド フィールを正常に更新しましたが、まだエラーが発生しています

エラーなしでルック アンド フィールを更新しようとしていますが、何が間違っているのかわかりません。

これは私のウィンドウクラスです:

これは、UI (ルック アンド フィール) を更新するメインの場所です。

コンソールには、次の行からエラーが発生したことが示されています。 Window window = new Window();

次に、次の行: setContentPane(new JPanel() {

しかし、setContentPane ブロック全体を削除すると、エラーはコンストラクターを指します。

どんな助けでも大歓迎です。ありがとうございました!

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

jtable - invokeLater を使用しているにもかかわらず、スレッド「AWT-EventQueue-0」で例外が発生する

SwingUtilities.invokeLater を使用して EventDispatchThread から開始し、プログラムで JTable (ここでは prosumerTable) を更新しようとしています。

正確には、コンテンツを完全に置き換える必要があるため、すべての行を削除して新しい行を追加するだけです-これは正常に機能します:

しかし、MouseListener を追加すると

マウスリスナー:

クリックイベントに反応するには、例外が発生します。

つまり、ここでは、tableModel にアクセスしようとしています。

このタイプの例外を回避するには、EventDispatchThread を使用して SwingComponents を更新するだけで十分だと思いました。

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

java - java - invokeLater を使用して一部の IO を UI と同期する方法

私の Java アプリケーションでは、swing を使用して UI を実装しています。 次のタイムリーな手順でいくつかの IO 操作に関与するtheButtonと呼ばれるボタンがあります。

  1. ボタンにはもともと「クリックして接続」というテキストがあります
  2. 次に、接続操作が開始される前に、theButtonに 「接続中...」と表示させたい
  3. その後、IO操作が開始されます
  4. IO操作が完了すると、ボタンに「接続済み (クリックして切断)」と表示されます。

    • 問題:
    • 次のコードを使用していますが、まず、IO が開始する前にボタンのテキストが「接続中...」に変わりません! 同様に、IOが開始する前にボタンが実際に無効になることはありません! ここで何をすべきですか?

--

0 投票する
2 に答える
136 参照

java - InvokeLater() - 一度だけで十分ですか?

推奨されるコードを使用して、Swing を使用する対話型プログラムを開始します。:

JFrameを作成し、それを「Foo」と呼び、ユーザーがそのウィンドウを閉じると終了します(OSのClose-Window Xアイコンまたは別のOSの方法を使用してアプリを閉じます)

別のウィンドウ "Bar" を表示し、ユーザー入力を取得し、独自の Swing 呼び出しでそのウィンドウを閉じてから、"Foo" ウィンドウを表示したいと考えています。

Foo と Bar に同じ JFrame を再利用し、その間をクリアすることができます。しかし、私はそれぞれのデザインをより独立させることを好みます。したがって、Foo の ActionListener は Foo のフレームを閉じ、Bar を表示するコードを呼び出す必要があります。

バーを表示するコードを呼び出すために InvokeLater() を使用する必要がありますか? 設計の独立性を高めるには、main() を開始して 2 つのスレッドを同期する必要がありますか?

0 投票する
2 に答える
48 参照

java - 長い比較をしながら JProgressBar を更新する

最近のプロジェクトで重大な問題が発生しました。writer(...) というメソッドで長い比較を行っていますが、約 20 秒かかります。このメソッドは、GUI 要素も設定されている View クラスに宣言されています。メソッドの比較中にプログレスバーを更新したいのですが、とにかく私はそれを行います.メソッドが比較を行うと常に更新されます...何かアイデアはありますか?

これが私のコードです(わかりました-その一部です):

スレッドは、ボタンの ActionListener を通じて開始されます。

0 投票する
3 に答える
507 参照

java - Java Swing プログラムでの SwingUtilities.invokeLater() メソッドの使用に関する疑問

私はJava Swingを勉強していますが、読んでいるこの簡単なコードチュートリアルに関連して疑問があります:

ロジックは非常に単純です。JFrame Swing クラスを継承するSimpleExampleクラスがあります。したがって、SimpleExampleはトップレベルのコンテナーになります。

このクラスにはmain()メソッドも含まれていますが、今では 2 つの疑問があります。

1) main() メソッドでこのコードを実行する理由:

SwingUtilities クラスでinvokeLater()メソッドを呼び出し、新しい Runnable オブジェクトを渡します。

私が知っているドキュメントを読むと、アプリケーションを Swing Event Queue に配置する方法になります。すべての UI 更新が同時実行セーフであることを確認するために使用されます。

理解するのに問題があるのは、それがどのように実装されているかです。

invokeLater()メソッドの入力パラメーター内で、次の「もの」を渡します。

これは何ですか?何を表す?そしてそれはどのように機能しますか?

TNX

アンドレア