問題タブ [event-dispatching]
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.
java - シングルトンスイングコンポーネント
シングルトンを念頭に置いてコンポーネントを提供するファクトリクラスがあるswingアプリを開発しています。好き:
私はこのコンポーネントを次のように使用しています:
また、Swing/AWTのさまざまなリスナーを提供するListenerFactoryクラスを作成します。
このパターンに欠陥はありますか?同じコンポーネントまたはリスナーを、同時に表示される2つの親コンポーネントとともに使用できますか?
前もって感謝します。
java - Javaグラフィカルユーザーインターフェイスがフリーズしています
[Enter]をクリックしてプログラムを実行すると、アプリケーションがフリーズするのはなぜですか?
これはJavaを使用した単純なチャットクライアントですが、私が含めなかったクラスは他にもあります。サーバークラスやプロトコルクラスのように
java - JavaJTableデータのロード
だから私はJTableとして1つのパネルを持つ大きなカードレイアウトを持っています:
actionPerformedの下で、次のようにいくつかのデータをテーブルにロードしようとしています。
今私の問題は、すべての行がロードされた後、テーブルが再描画されないことです...何か提案はありますか?
php - Zend Framework 1.11 で Symfony EventDispatcher を使いたい
Zend Framework 1.11 内で Symfony EventDispatcher を使用したい (必要がある) zf の Bootstrap に EventDispatcher をロードしています...
私の質問は、ZFコントローラー内でどのように使用できますか?
助けてくれてありがとう。よろしくお願いします、
java - scala アプリケーションでのスイング例外の処理
scala GUI に swing を使用したいと思います。アプリケーションの状態は akka アクターによって処理され、フォールト トレランスによって復元される場合があります。
スイング障害後にアプリケーションを復元したい。Java プログラマーが EDT 例外ハンドラーを確立し、EDT プロキシーを作成するためのレシピをいくつか見つけました。スイング例外を処理するためのscalaの方法は何ですか? scala ラッパーはより優れたツールを提供しますか?
java - Javaでのみ特定のコンポーネントのイベントをディスパッチする
サーバーアクションを提供するようにJTableHeaderをカスタマイズしたいと思います(たとえば、そのうちの1つが列をソートし、2番目にこの列のプロパティを表示する2つのボタンなど)。残念ながら、JTableHeader に CellEditor を設定することはできないため、マウス アダプターの使用に固執しています。しかし、この特定の JTableHeader コンポーネントからイベントをディスパッチすることは可能で、必要なすべてのオプションを含むポップアップ メニューが表示され、並べ替え以外のオプションが選択された場合はイベントがディスパッチされます。このようにして、標準の JTable ソート操作が私の操作と一緒に利用可能になり、適切な視覚的外観が維持されます。だから私の質問は - それは可能ですか、それはどのように行われるべきですか?
Trushgod のコメントに応えて - defaultheader を通常のコンポーネントとして扱い、「追加」機能を使用してコンポーネントを追加することを意味していることを理解しています。JTableHeader ではうまく機能しません。Trashgod の例を読んだ後、私はこれを書きました:
MouseListener は JTableHeader に適用されます。HeaderRender は、2 つの JButton を含む JPanel の拡張です。ラインで奇妙なことが起こる
行を残したとき
コメントを外すと、関数「getComponentAt」はほとんど問題なく動作するようです (ほとんどの場合、マウスが 2 番目のボタンをターゲットにしている場合でも、else 条件にはなりません。また、クリックされたボタンを再描画しません [不思議なことに、テスト ダイアログ ウィンドウでボタンを再描画します])、それ以外の場合は常にnull オブジェクトを返します。
重要かどうかはわかりませんが、JTableHeader で「setDefaultRenderer」を呼び出してヘッダー レンダラーをグローバルに設定します。
アイデアがほとんど不足しているので、助けていただければ幸いです。
java - JTextArea が原因で応答しない GUI を修正しますか?
JEditorPane
ユーザーが Java コードを入力してコンパイルできるプログラムを設計しています。その後、新しいプロセスでプログラムを実行できます。出力はJTextArea
. これをメンバーとして拡張JTextArea
および追加することでこれを実現します。
次に、 thisを a でラップしgetStream()
て返す単純なメソッドを用意し、 andをで呼び出します。OutputStream
PrintWriter
System.setOut()
System.setErr()
PrintWriter
ここで問題が発生します。大量の出力が一度にコンソールに送信されるプログラムをユーザーがコンパイルすると (System.out.println()
呼び出しの無限ループなど)、GUI 全体がハングします。を使用して呼び出しSwingWorker
を処理することでこれを修正しようとしましたが、何も機能していないようです。append()
に大量のテキストが書き込まれている場合でも、GUI の応答性を維持する方法はありJTextArea
ますか? 問題の一部は、呼び出し後に GUI を更新するのにかかる時間であると想定していappend()
ます。JTextArea
ユーザーがボタンをクリックしてプロセスを終了できるように、への書き込みを少し遅らせる方法はありますか?
java - 新しいスレッドを持つ新しい JFrame
新しいスレッドを作成してアクションを実行し続けるコンボボックスとボタンを備えた JFrame を作成しました。新しい JFrame にログを出力するために、すべての新しいスレッドで新しい JFrame を開始する必要があります。しかし、JFrame に関連するコードを新しいスレッドに入れてその JFrame を閉じても、実行中のスレッドではなくプログラム全体が終了します。私が望むことを可能にするための最良のアプローチは何ですか? 新しいスレッドが開始されるたびに新しい JFrame を開き、その JFrame を閉じるとそのスレッドが終了するようにしたいだけです。
よろしく!
java - スイングで例外を見つける方法
Javaスイングに問題があります。私は時々このNullPointerExceptionをランダムな時間に取得します(おそらくいくつかのペイント方法で?):(プロジェクトには100を超えるクラスがあるため、ここにコードを投稿しても意味がありません。さらに、この種のexcpを見つけるための正しいアプローチに興味があります.それは私のソースコードにはありません)
スレッド「AWT-EventQueue-0」での例外javax.swing.plaf.basic.BasicTextUI.paint(不明なソース) javax.swing.plaf.basic.BasicTextUI.update(不明なソース)でjavax.swing.JComponent.paintComponent(不明なソース)でjavax.swing.JComponent. javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(不明なソース) の javax.swing.JComponent.paintToOffscreen(不明なソース) の javax.swing.RepaintManager$PaintManager.paint(不明なソース) の javax.swing.swing でのペイント(不明なソース)。 javax.swing.JComponent の RepaintManager.paint(不明なソース)。javax.swing.JComponent の_paintImmediately(不明なソース)。javax.swing.RepaintManager.paintDirtyRegions の paintImmediately(不明なソース) javax.swing.RepaintManager.paintDirtyRegions の(不明なソース) javax.swing.RepaintManager.seqPaintDirtyRegions の(不明なソース) javax.swing.SystemEventQueueUtilities$ComponentWorkRequest の。 java.awt.event.InvocationEvent.dispatch で実行 (不明なソース) java.awt.EventQueue.dispatchEventImpl (不明なソース) java.awt.EventQueue.access$000 で (不明なソース) java.awt.EventQueue でjava.awt.EventQueue で $1.run(未知のソース) $1.run(未知のソース) java.security.AccessController.doPrivileged(ネイティブ メソッド) で java.security.AccessControlContext$1.doIntersectionPrivilege(未知のソース) で java.awt. java.awt の EventQueue.dispatchEvent(不明なソース)。java.awt.EventDispatchThread.pumpEventsForFilter(不明なソース) の java.awt.EventDispatchThread.pumpEventsForHierarchy(不明なソース) の EventDispatchThread.pumpOneEventForFilters(不明なソース) java.awt.EventDispatchThread の java.awt.EventDispatchThread.pumpEvents(不明なソース)。 java.awt.EventDispatchThread.run(不明なソース) での pumpEvents(不明なソース)
今私の質問は、どのように/どこで検索を開始すればよいですか? この例外の理由がわかりません。が表示されます。例外。ランダムに発生するため、見つけるのも難しくなります。
それで、誰かがどこから始めるべきか考えていますか(または、おそらく私が原因ではないスイングの問題です)?