問題タブ [swingutilities]
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 - JAVASwingGuiウィンドウがハングする
SWING GUIに問題があります。少なくとも、SwingGUIだと思います。
これが私のメインコードファイルです:
フレームを作成して開くための簡単な呼び出し。スペースのためにここに入れなかった他のファイルがあります。しかし、私が抱えている(そして私がいくつかのマシンとオペレーティングシステムで試した)問題は、ウィンドウのボタンがハングしているように見えることです。ウィンドウを選択してボタンをクリックすると、ボタンが押されたようにハイライト表示されますが、何も起こりません。タブ付きの平面があり、他のタブをクリックしても何も起こりません。これが約15秒間続く場合もあれば、数分間続く場合もあります。しかし、それは常に最終的に戻ってきて、新しい入力に応答します(つまり、戻ってくる前に行ったすべてのクリックを覚えていません)。アプリケーションは全体的に単純で、ユーザーが何かをするまで待ってから何かをするので、なぜハングしているように見えるのか混乱しています。
どんな助けでもいただければ幸いです。
ありがとう
swing - このメソッド invokeOnEventDispatchThread は何をしますか?
コードベースで次のコードに出くわしましたが、それがどのように機能するのか理解できません.私はSwingの初心者なので、ばかげた質問のように思えたら申し訳ありません.
}
ここで r.run() はイベント ディスパッチ スレッドですぐに呼び出されますか? メソッドのポイントは r.run() をできるだけ早く呼び出して、キューの先頭に移動することですか?
ありがとう。
java - SwingUtilities.convertPoint() は負の値を返します
複雑なJPanels構造と多くのコードを持つ別のプロジェクトでこの問題に直面しています。
そこには次のスニペットがあります
ラベルとパネルが動的に選択され、JLabel が JPanel の孫孫であると想定されている場所。
SwingUtilities.convertPoint()
では、ソースと宛先が親子関係にある場合、どのような場合に負の値を返すことができるのでしょうか? これはまったく可能ですか?
このコードは負の座標の問題を示していますが、panel22 はラベルの親ではありません。
したがって、出力は
UPD: 基本的に、 のlabel
相対位置を取得する必要がありpanel21
ます。この行を変更して達成するにはどうすればよいですか?
java - コンポーネント全体が画面に表示されているかどうかを確認するにはどうすればよいですか?
カスタマイズされたポップアップを含むサードパーティのプラグインを使用しています。このポップアップはタブ ペインに追加され、表示されたときに JFrame の境界に近づくと、その一部のみが表示され、残りは JFrame の背後にあるかのように画面からはみ出します。
コンポーネントの境界またはその形状がユーザーに完全に表示されているかどうかを確認する方法はありますか?
java - SwingUtilities.invokeLater : 問題
それが今SwingUtilities.invokeLater
まで避けてきた理由ですが、Swing Threadを安全にすることは非常に重要です。すみません、今回が初めてなのでよろしくお願いします。データベースクエリの後にウィンドウを閉じようとしています。したがって、私が理解している限り、更新はUI
によって処理される必要がありますSwingUtilities.invokeLater
。私の仕事は次のとおりです。
主要:
ADD ボタンのリスナー
参照ボタンのリスナー
ここに問題があります。終了するコードです。
画面:
どこが間違っているのか説明してください。使いたくないSystem.exit
ので、質問が多すぎてすみません。ありがとうございます。
アップデート:
これは、 @trashgod によって要求されたサンプルの作業コードです。
exit()
実行してウィンドウを閉じるように修正する方法を教えてください。
java - グリッド内のマウスの動き
グリッドとクラスのdouble配列を作成しましたgridBalls
。
gridBalls
タイプがint
あり、それに番号を渡して、0ブランク、1ボールなど、グリッドに何を描画するかを決定します。
mousedragged
グリッドのスロット[0][0]をクリックして(ボールのふりをして)、マウスを右にドラッグして水平線を描画するとしたら、コードはどのようになりますか(これに3と入力します)。例)、またはマウスの下部をドラッグして垂直線を引いた場合(タイプ2)
java - SwingUtilities.windowForComponent(JFrame) は null を返します
frame
JFrame
私のSwingアプリで唯一です。JFrame
extends以来Window
、説明とメソッド名から、コードはフレーム自体を返す必要があると信じていました。
public static Window windowForComponent(Component aComponent)
コンポーネントのウィンドウを返す
しかしnull
、実装はこのようなものであるため、それは を返します
メソッドの実装が正確ではないことに同意しますか?
UPD: JFrame がメソッドに渡されwindowForComponent
、JFrame
拡張Window
されるため、次のような追加のチェックが必要です。
UPD2:だから私は実装する必要があります
java - SwingUtilities.convertMouseEvent() は Java7 でボタンを NOBUTTON に設定します
MouseEvent
で迷子になる、つまり親に配信されないことがわかっているようJScrollPane
に、これはまだ修正されていない古いバグです:
https://forums.oracle.com/forums/thread.jspa?threadID=1362237
JScrollPane
そのため、一時的なリスナーでイベントをキャッチし、実際のリスナーで処理される親であるイベントにディスパッチすることで回避策を使用していました。
問題なく動作しましたが、Java 7 を使用している人々は、マウス クリックがアプリケーションで反応しないと不満を言い始めました。Java 6 にダウングレードした後、問題は解決しましたが、現在はテスト中Applet
であり、Chrome
プラグインをバージョン 7 にアップグレードする必要がありました。
デバッグ後、渡されたボタンから独立してconvertMouseEvent
ボタンを設定することがわかりましたMouseEvent.NOBUTTON
Eclipse のソース コードから
なぜそのように実装されているのかわかりませんか?それは別のバグまたは機能ですか?
SwingUtilities.convertMouseEvent
sourceEvent からボタンを呼び出して設定せずに、独自のオブジェクトを作成する必要があるようです。
java - JPanelの親要素を閉じる
コンポーネントの親要素を閉じることは可能ですか..おそらくJPanelからJFrame
/ですか?JInternalFrame
はいの場合、どのようにそれを行うことができますか?
java - main メソッドで SwingUtilities.invokeLater を使用する理由
何年にもわたる Java プログラミングの後、私はいつも次のmain()
ようなメソッドを作成していました。
しかし最近、Web からいくつかのコードを調べたところ、main()
上記の通常の使用法ではなく、次のようなコードが時々見られました。
私は単に知りたい:
- 通常の
main()
方法ではなく、なぜこれを使用するのですか? 試してみると違いがわかりません。 - これら2つの方法の違いは何ですか?
私とあなたの答えを読んでくれてありがとう。