問題タブ [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.

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

java - JAVASwingGuiウィンドウがハングする

SWING GUIに問題があります。少なくとも、SwingGUIだと思います。

これが私のメインコードファイルです:

フレームを作成して開くための簡単な呼び出し。スペースのためにここに入れなかった他のファイルがあります。しかし、私が抱えている(そして私がいくつかのマシンとオペレーティングシステムで試した)問題は、ウィンドウのボタンがハングしているように見えることです。ウィンドウを選択してボタンをクリックすると、ボタンが押されたようにハイライト表示されますが、何も起こりません。タブ付きの平面があり、他のタブをクリックしても何も起こりません。これが約15秒間続く場合もあれば、数分間続く場合もあります。しかし、それは常に最終的に戻ってきて、新しい入力に応答します(つまり、戻ってくる前に行ったすべてのクリックを覚えていません)。アプリケーションは全体的に単純で、ユーザーが何かをするまで待ってから何かをするので、なぜハングしているように見えるのか混乱しています。

どんな助けでもいただければ幸いです。

ありがとう

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

swing - このメソッド invokeOnEventDispatchThread は何をしますか?

コードベースで次のコードに出くわしましたが、それがどのように機能するのか理解できません.私はSwingの初心者なので、ばかげた質問のように思えたら申し訳ありません.

}

ここで r.run() はイベント ディスパッチ スレッドですぐに呼び出されますか? メソッドのポイントは r.run() をできるだけ早く呼び出して、キューの先頭に移動することですか?

ありがとう。

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

java - SwingUtilities.convertPoint() は負の値を返します

複雑なJPanels構造と多くのコードを持つ別のプロジェクトでこの問題に直面しています。

そこには次のスニペットがあります

ラベルとパネルが動的に選択され、JLabel が JPanel の孫孫であると想定されている場所。

SwingUtilities.convertPoint()では、ソースと宛先が親子関係にある場合、どのような場合に負の値を返すことができるのでしょうか? これはまったく可能ですか?

このコードは負の座標の問題を示していますが、panel22 はラベルの親ではありません。

したがって、出力は

UPD: 基本的に、 のlabel相対位置を取得する必要がありpanel21ます。この行を変更して達成するにはどうすればよいですか?

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

java - コンポーネント全体が画面に表示されているかどうかを確認するにはどうすればよいですか?

カスタマイズされたポップアップを含むサードパーティのプラグインを使用しています。このポップアップはタブ ペインに追加され、表示されたときに JFrame の境界に近づくと、その一部のみが表示され、残りは JFrame の背後にあるかのように画面からはみ出します。

コンポーネントの境界またはその形状がユーザーに完全に表示されているかどうかを確認する方法はありますか?

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

java - SwingUtilities.invokeLater : 問題

それが今SwingUtilities.invokeLaterまで避けてきた理由ですが、Swing Threadを安全にすることは非常に重要です。すみません、今回が初めてなのでよろしくお願いします。データベースクエリの後にウィンドウを閉じようとしています。したがって、私が理解している限り、更新はUIによって処理される必要がありますSwingUtilities.invokeLater。私の仕事は次のとおりです。

主要:

ADD ボタンのリスナー

参照ボタンのリスナー

ここに問題があります。終了するコードです。

画面: スクリーンショット

どこが間違っているのか説明してください。使いたくないSystem.exitので、質問が多すぎてすみません。ありがとうございます。

アップデート:

これは、 @trashgod によって要求されたサンプルの作業コードです。

exit()実行してウィンドウを閉じるように修正する方法を教えてください。

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

java - グリッド内のマウスの動き

グリッドとクラスのdouble配列を作成しましたgridBalls

gridBallsタイプがintあり、それに番号を渡して、0ブランク、1ボールなど、グリッドに何を描画するかを決定します。

mousedraggedグリッドのスロット[0][0]をクリックして(ボールのふりをして)、マウスを右にドラッグして水平線を描画するとしたら、コードはどのようになりますか(これに3と入力します)。例)、またはマウスの下部をドラッグして垂直線を引いた場合(タイプ2)

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

java - SwingUtilities.windowForComponent(JFrame) は null を返します

frameJFrame私のSwingアプリで唯一です。JFrameextends以来Window、説明とメソッド名から、コードはフレーム自体を返す必要があると信じていました。

public static Window windowForComponent(Component aComponent)

コンポーネントのウィンドウを返す

しかしnull、実装はこのようなものであるため、それは を返します

メソッドの実装が正確ではないことに同意しますか?

UPD: JFrame がメソッドに渡されwindowForComponentJFrame拡張Windowされるため、次のような追加のチェックが必要です。

UPD2:だから私は実装する必要があります

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

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.convertMouseEventsourceEvent からボタンを呼び出して設定せずに、独自のオブジェクトを作成する必要があるようです。

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

java - JPanelの親要素を閉じる

コンポーネントの親要素を閉じることは可能ですか..おそらくJPanelからJFrame/ですか?JInternalFrameはいの場合、どのようにそれを行うことができますか?

0 投票する
4 に答える
9570 参照

java - main メソッドで SwingUtilities.invokeLater を使用する理由

何年にもわたる Java プログラミングの後、私はいつも次のmain()ようなメソッドを作成していました。

しかし最近、Web からいくつかのコードを調べたところ、main()上記の通常の使用法ではなく、次のようなコードが時々見られました。

私は単に知りたい:

  • 通常のmain()方法ではなく、なぜこれを使用するのですか? 試してみると違いがわかりません。
  • これら2つの方法の違いは何ですか?

私とあなたの答えを読んでくれてありがとう。