問題タブ [grouplayout]
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 - NetBeans、コンポーネントを中心とするGUIビルダー(グループレイアウト)
見栄えを良くするには、含まれているJFrameの水平方向の中央に配置する必要があるJButton(「OK」ボタン)を設計しようとしています。
自由形式レイアウト(GroupLayout)でGUIビルダーを使用しています。
いくつかのGUIビルダーチュートリアル(http://netbeans.org/kb/docs/java/quickstart-gui.html)を受講しましたが、このトピックは見つかりませんでした。他のGUIビルダー(デルファイ)では、これは両端からアンカーを削除することで実行できます。
java - Java SwingでGroupLayoutを画面の中央に揃えますか?
したがって、次のような GUI がある場合:
プログラムを実行すると、画面の左上の (0,0) 位置に配置されます。とにかく、これを画面の中央または別のカスタム位置に揃えることができますか?
setLocation(left,top) のように、GroupLayout を使用せずにフレームのみを使用する場合、これはうまく機能しますが、この実装では、この GUI のデフォルトの位置を変更するにはどうすればよいですか?
java - Swing GroupLayout:コンポーネントサイズのサイズ変更と制限
GroupLayout
動的に生成されたデータ入力フォームのコンポーネントを管理するために使用しています。レイアウトは多かれ少なかれ次のようになります。
水平レイアウトに2つの並列グループを使用し、垂直レイアウトに1つの順次グループを使用しています。ほとんどの場合、すべてが正常に機能しています。
JLabel
ラベル(の単なるインスタンス)の最大幅を親の幅の1/3に制限したいと思いますJFrame
。が固定サイズの場合、JFrame
これは簡単ですが、サイズ変更に対処する必要があります。
私はComponentListener.componentResized()
イベントをピックアップしていますが、JFrame
そのようなイベントを受け取ったらどうするかについて少し行き詰まっています。
私は運がなくてもこのアプローチを試しました:
誰かが機能するラベルの幅を制限する方法を提案できますか?
毎回レイアウトを一から作り直すこともできるかもしれませんが、もっと簡単な方法があるはずだと思います。
java - GroupLayout を使用して互いの上にレンダリングされるコンポーネント
Java Swing の GroupLayout の使用方法を学ぼうとしています。
まず、JLabels からグリッドを作成したいだけです。
私が抱えている問題は、JLabels が互いの上に直接レンダリングされていることです (つまり、まったく同じ場所にあるため、一方が他方を覆い隠しています)。
以下は、列に 3 つの JLabel を配置するコードです。
ラベルを正しく配置するにはどうすればよいですか。
ありがとう
java - Java - GroupLayout でコンポーネントのサイズを変更する方法
GroupLayoutに問題があります。私のコードは次のとおりです。
そして問題は、レイアウトのコンポーネントが可能な限り大きいことです。このサイズを制限することはできません。問題は、たとえばアイテムの一定の高さを設定する方法です。
または、ウィンドウのサイズが変更されたときに呼び出される関数はどれですか? Maby はその関数、親 JPanel の getSize (JPanel 内) をオーバーライドし、パーセンテージに基づいてサイズを設定できますか? どう思いますか?
// 問題が解決しました。
下から 5 行目で変更
為に
助けてくれてありがとう。
java - Java ビューの更新
私は大学でレベル 3 プロジェクトの複雑な作業に取り組んでおり、その約 90% は非常にうまくいっていますが、プロジェクト全体で同様の問題が発生し続けています。
私が得ている問題は、プログラムでビューを更新すると、更新がすぐに表示されないことがあるということです。私はこれを解決するためにさまざまなことを試しました.redraw、repaint、repaintImediately、doLayout、validate、revalidateなどをさまざまな組み合わせと順序で呼び出して、動作させるようにしましたが、動作する場合もあれば、動作しない場合もあります. ほとんどの場合、検証が機能することがわかりました。
私が現在立ち往生している(そして数日間続いている)問題は、プロパティエディター(netbeans/jdeveloperプロパティインスペクターを考えてください)のスタイルでデータをリストする必要があるビューに関するものです。プロパティのラベルはすべて異なる幅 (ただし高さは同じ) にすることができ、編集可能なフィールド自体は通常、幅は同じですが高さが異なります (テキスト エディター、ドロップダウン、カラー ピッカーなど)。このため、私は GroupLayout を使用することにしました。それを正しく理解するには多少の学習が必要でしたが、今ではそうです。つまり、最初にプロジェクトを実行すると正しく表示されますが、表示する別のコンポーネントを選択すると (プロパティ ビューアが更新されるはずです)、最初は何も起こりません。ビューのサイズを変更すると、古いフィールドがすべて消え、新しいフィールドが戻ってきません。
最初はこのビューを画面に配置しただけでしたが、その後 JScrollPane を使用するように変更して、プロパティのより大きなリストを許可しました。これが問題が発生し始めたポイントだと思いますが、どうすればよいかわかりません。
私の質問は 2 つあります。プログラムで変更されたときにビューを強制的に更新する確実な方法は何ですか (効率的であることは良いことですが、現時点では信頼性がより重要です)。ここで、それを明確に説明しているJavaドキュメントのどこかに喜んでリンクします。
2 番目の部分は、コードの次のセクション (プロパティ ビューアーの setSubject メソッド) に関連しています。他に何も考えられないので、誰かがなぜそれが機能しないのか教えてもらえますか.
このエラーが発生する可能性のある場所を最小限に抑えるために、コードを少し変更しました。
java - コンポーネントをSwingGroupLayoutParallelGroupに繰り返し追加するにはどうすればよいですか?
コンポーネントのリストを反復処理して、Swing GroupLayoutのParallelGroupに追加する方法はありますか?
ParallelGroupを入手する方法がないため、難しいようです。
コンポーネントのリスト(この場合はJCheckBoxes)を生成するコードは次のとおりです。
リストは機能していますが、リストを反復処理して各JCheckboxをGroupLayoutのParallelGroupに挿入するにはどうすればよいですか?たとえば、以下のコードはコンパイルされません。
または、ParallelGroupを入手して、スタンドアロンのforループでそのグループにコンポーネントを繰り返し追加できるようにする方法を知っている人はいますか?
java - Swing の GroupLayout と setContentPane - コンポーネントを失いましたか?
実験の結果、Swing の GroupLayout は、GUI 全体での再利用を目的としたコンポーネントを失う傾向があるようです。
しかし、この使い捨てルールを明確にするドキュメントは見たことがありません。これは、私が間違いを犯したのか、それとも私が下手な読者なのか疑問に思います.
たとえば、JButton("Foo") の GroupLayout を使用して JPanel を作成します。次に、「Bar」という名前に変更された同じ JButton の GroupLayout を持つ別の JPanel を作成します。
JFrame.setContentPane を使用して 2 番目の JPanel から最初の JPanel に戻すと、最初の JPanel の JButton が失われます。
コンポーネントを失う理由を説明できる人はいますか?さらに、コンポーネントを失う傾向を克服する方法を提供できる人はいますか?
問題を示す完全な SSCCE を次に示します。
}
java - グループレイアウトについて
こんにちは、割り当て要件からグループ レイアウトを実装しようとしましたが、以下は私のコード スニペットですが、pack(); を実行すると、このコード スニペット内で 1 つの問題が発生します。それは私に例外をスローします。また、それを表示する方法もわかりません。コードの提案が間違っている場所を教えてください。
前もって感謝します