問題タブ [jdialog]
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.
swing - JDialogは作成時に縮小されます
Netbeansでswingプロジェクトを開発しています。JFrameを作成し、そのJFrameにモーダルJDialogインスタンスを追加して、ユーザーから資格情報を取得しました。JDialogインスタンスは、JFrameのコンストラクターに表示されるように設定されています。実行すると、予想どおり、JDialogインスタンスはJFrameの前に表示されますが、JDialogウィンドウは可能な限り小さいサイズにサイズ変更されます。ユーザーは、入力するテキストボックスがあることを確認するために、毎回手動でサイズを変更する必要があります。手動でpreferredSizeを設定しようとしましたが、機能しませんでした。デザインビューと同じサイズにするにはどうすればよいですか?
java - 同様の入力ダイアログ作成パターン/スイング
私は、NetBeans を使用してスイングで UI を作成しました。
ユーザーがボタンを押すと、結果として JDialog が表示されるユースケースがいくつかあります。
JDialog は、少なくとも 4 つの JComboBox を介して入力を受け入れます。
たとえば、
ユーザーが「ButtonA」を押すと、次のように表示される JDialog が表示されます。
つまり、各コンボの横に説明ラベルがあります。各 JDialog には、各コンボの他に、JCheckbox、JTextarea などの他のコントロールがいくつかあります。
ユーザーが「ButtonB」を押すと、次のような JDialog が表示されます。
したがって、ダイアログは同じではありませんが、プレゼンテーション形式にいくつかのパターンがあります。つまり、コンボボックスの使用。
最初に、単一の JDialog を作成し、JDialogs のラベルに表示する必要があるテキスト、および JCheckbox を表示するかどうか、JTextArea を表示するかどうか、およびどのテキストを使用するかなど、すべてパラメーターに応じて、いくつかの引数を渡します。 JDialog の初期化を渡して、すべてのユースケースに単一のクラスを持たせましたが、コードが非常に複雑になり始めたため、このアプローチを拒否しました。
私がしたことは、GUI デザイナーを介して、ボタンを押すたびに必要なだけの JDialog を作成し、約 10 ~ 11 個の JDialog を作成しました。
このアプローチにより、プログラミングがはるかに簡単になりましたが、入力用に10〜11個の追加クラスを作成したため、これが標準的な方法であるかどうかはわかりません.
私の質問は、私がしたことが合理的かどうか、またはこのような状況に対処するためのより良い方法があるかどうかです.
ありがとうございました!
java - 検査プロパティ ウィンドウを作成し、ボタンを JDialog として駆動する
私が最初に尋ねたことは、私の質問/問題を明確に述べていなかったので、よりよく説明します。を可視JButton
に設定するがあります。JDialog
JDialog にはWindowListener
、イベントで非表示に設定する がありますwindowDeactivated()
。これは、ユーザーがダイアログの外側をクリックするたびにトリガーされます。このボタンActionListener
は、ダイアログが表示可能かどうかをチェックし、true の場合は非表示にし、false の場合は表示します。
windowDeactivated()
ユーザーがダイアログの外側をクリックしている限り、ボタンをクリックするかどうかにかかわらず、常にトリガーされます。私が抱えている問題は、ユーザーがボタンをクリックしてダイアログを閉じるときです。ダイアログは によって閉じられ、 はWindowListener
それActionListener
を表示しようとします。
そうwindowDeactivated()
でない場合setVisible(false)
、ダイアログは開いたままですが、親ウィンドウの背後にあります。私が求めているのは、内部のクリックの場所にアクセスする方法ですwindowDeactivated()
。ユーザーがボタンをクリックし、windowDeactivated() がダイアログの非表示をスキップできることがわかっている場合は、ボタンがActionListener
まだ表示されていることを確認して非表示にします。
java - カスタムJDialogが表示されますが、空白です
私のプログラムのある時点で、プログラムの実行中に何が起こっているかについての情報を表示するJDialogが開きます。いくつかのラベルとプログレスバーがありますが、ダイアログウィンドウを開いても何も表示されません。
カスタムダイアログとそのコンストラクターは次のとおりです。
このウィンドウが開くと、プログラムの残りの部分は通常どおり実行され続け、このウィンドウだけが空白になります。私は何かが足りないのですか?
java - スイングのJava作成デザインパターン
この形式の一連の静的ユーティリティメソッドがあります。
ビルダーやその他のパターンなどを介して動的に作成されたJDialogを表示したいのですが、ボタンを押すと、ダイアログのタイプに応じて適切なユーティリティメソッドが呼び出されます。
たとえば、JDialogがボタンのアクションリスナーである場合は、入力フィールドから引数として渡すデータをtype A
呼び出す必要があります。JDialogがである場合は、ボタンのアクションリスナーなどを呼び出します。
タイプA、Bなどは私のカスタムタイプです。使用は必須ではありません。各JDialogを区別するためにそれらを持っています。
タイプAのJDialogは、一部の入力フィールドでタイプBのJDialogとは異なります。しかし、全体的な外観は似ています。
合計で約20のタイプと20の対応するutilメソッドがあります。Util.doA
type B
Util.doB
私が抱えているこの問題の標準的なパターンはありますか?
各カスタムJDialogがそれ自体を適切に作成し、actionlistenerのメソッドが適切なユーティリティメソッドを呼び出すようにJDialogを拡張し始めましたが、最終的に20の新しいクラスになります。
それで、これに対するより良いアプローチがあるかどうかを考えました。何か案は?
ありがとうございました
java - モーダル JDialog が表示されたらすぐにコードを実行する方法
オブジェクトのリストがあります。Modal JDialog を表示してから、このオブジェクトのリストを渡して、それらに対して動作させる必要があります。問題は、.show() を呼び出すと、EDT がハイジャックされることです。理想的な状況は、リストをコンストラクターに渡してから、ダイアログが表示されたら、問題の関数を実行できることです。C# ではこれに Loaded イベントを使用しますが、その方法は JDialog ではわかりません。
考え?
java - JDialogモーダルの問題Java GUI
エラーなしで実行されるこのコードがありますが、計画どおりに実行されていません。「重要!!」というラベルの付いたボタンをクリックしても、「続行」ボタンが表示されない理由を理解しようとしています。
表示されている唯一のものは、コード JDialog の一部であり、モーダルで可視に設定されている空白のポップアップ ウィンドウです。私はそれを理解することはできません。誰かが私を助けることができれば、私はそれをとても感謝しています.
java - Java Swing:コンポーネントのセンタリング
複数のコンポーネント(JDialogsとJFrames)を中央に配置したいSwingUIに取り組んでいます。次のコードがユーザーの画面サイズを計算することを知っています。そこから、コンポーネントを簡単に中央に配置できます。
効率を上げるために、これを1回だけ計算し、プロジェクトのどの部分でも再利用できるように、ある種の定数に格納する必要があります。複数のクラス間でアクセスできるように、後で再利用するためにこれを保存するためのベストプラクティスは何ですか?
(さらに、センタリングの画面サイズを計算するためのより良い方法があれば、私もそれを聞いてくれるでしょう)
java - 2つのプロセスが並行して実行されないようにする方法
上記のコードは、タブを閉じるとダイアログボックスを開きます。ダイアログボックスのユーザーの応答に基づいて、タブを閉じるかどうかを決定します。しかし、私が直面している問題は、ダイアログボックスからの応答の前にタブが自動的に閉じることです。ダイアログボックスが表示されると、ダイアログボックスの応答を待たずにタブが閉じます。ダイアログボックスを閉じるときだけ、条件に基づいてタブを閉じる必要があります。手伝っていただけませんか。
-前もって感謝します
java - ダイアログが開いたときに最初にテキストを設定するにはどうすればよいですか?
を表示する次のコードがあります。JDialog
テキスト フィールドが表示されますJTextField
。
ダイアログが開いたときに最初にテキストを設定するにはどうすればよいですか?