問題タブ [boxlayout]
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 - BoxLayout 誤解ストラット
Swing で簡単な入力図をプログラミングしています。boxLayout を使用して、ユーザー入力の単純な GUI を作成します。問題は、すべてのラベルの JPanel と JTextField の JPanel の間に水平ストラットを作成すると、パネル全体が下に移動する (奇妙な) ことです。これはパネル全体です。
ストラットなしでは次のようになります。

ストラットを使用すると、次のようになります(画像編集が苦手なことはわかっています):

java - BoxLayout で setLayout を呼び出す必要があるのはなぜですか?
ほとんどのレイアウト マネージャーには、引数のないコンストラクターがあります (つまり、 を使用して FlowLayout を作成したり、 を使用しnew FlowLayout ()て GridLayout を作成したり、 を使用new GridLayout ()して GridBagLayout を作成したりできますnew GridBagLayout ())。ただし、BoxLayout管理するコンテナーと、コンポーネントを配置する軸の両方を渡す必要があります。
私の質問は次のとおりです。レイアウトマネージャーにレイアウトするコンポーネントを既に伝えているのに、なぜ書く必要があるのですか?
最初の行だけではなく?
ソース コードをざっと見てみると、BoxLayout使用しているコンストラクター (178 ~ 185 行目) が呼び出しなどを行っていないことがわかりましtarget.setLayout(this)た。それを追加するだけで本当に簡単になりそうです。Swing ライブラリに含まれていない理由はありますか?
それが問題なら、私は使用しています
Java バージョン 1.7.0
Java(TM) SE ランタイム環境 (ビルド 1.7.0-b147)
Win7Proで。
ありがとう!
SSCCE:
java - BoxLayout の間隔を垂直方向に配置しますか?
垂直方向に整列する BoxLayout を使用する場合、含まれている JFrame が大きくなるにつれてコンポーネントが拡張されないようにするにはどうすればよいでしょうか。さまざまなレイアウトを試しましたが、すぐに乱雑になりました。また、パネルの下部に接着剤を追加しようとしましたが、レイアウト マネージャーは接着剤を別の空の JPanel のように扱っているため、すべてのコンポーネントが拡張されます。助言がありますか?
java - Javaでこの拡張可能なレイアウトを実現するにはどうすればよいですか? 柔軟な BoxLayout など
3 つの JPanel p1 p2 と p3 を用意して、次のように配置したいと考えています。

FlowLayout、BoxLayout などで遊んでいますが、正しい方向に向かっているかどうかはよくわかりません。私は Java にまったく慣れていないので、正直なところ、何が何をするのかわかりません。
パネルのサイズを変更する BoxLayout の仕組みが気に入っていますが、何らかの幅属性を指定できるようにしたいと考えています。
これにはビジュアルデザイナーを使用していません。これは現時点での私のウィンドウコードです:
任意のポインタをいただければ幸いです!
編集: mKorbel のおかげで、思い通りに動作させることができました。右側の列は意図したとおりにレイアウトされていませんが、実際には気が変わって、他のレイアウトを維持することにしました。

コード:
java - コンポーネントを削除した後のボックス レイアウトの中央揃え
私は JButtons を作成し、それらを垂直に配置するように設定された BoxLayout を使用して JPanel に追加するプログラムを持っています。最初のボタンが JPanel から意図的に削除されることがあります。最初、ボタンは正しく中央に配置され、ボタンも正常に削除されています。問題は、残りのボタンが離れてスペースを埋めることです。これは私が望んでいることではありません。代わりに、離れずにy軸に沿って中心を合わせ直してもらいたいのです。
JPanel を拡張するクラスがあります。コンストラクターで BoxLayout が作成されます。
ボタンの作成は現在、このクラスのメソッドです。
削除は別の方法です。
含まれているパネルを埋めるためにバラバラに広がることなく、ボタンをy軸に沿って中央に配置する方法を知っている人はいますか?
java - Boxlayout を共有できません AWTError... Nullpointerexception があった以前のクエストを修正すると、このエラーが発生します..助けてください
重複の可能性:
このjava.awt.BoxLayoutを共有できないか、NullPointerExceptionを整理するのを手伝ってください
「この java.awt.BoxLayout を共有できないか、NullPointerException を整理するのを手伝ってください」という名前の、以前に公開した自分の投稿を編集した後のコード
この投稿も初めての場合は、コードを調べて解決してください。
java - BoxLayout での JLabel の整列
これに対する答えを見つけようと何日も探し回っていますが、何が問題なのかわかりません。私がやりたいのは、上部の JLabel ( と呼ばれるdisplay) が右に整列し、下部の JLabel ( と呼ばれるnotice) が左に整列するようにすることです。どちらもやりたくないようです。私が読んだことから、私が持っているものはうまくいくはずですが、うまくいきません。ヘルプ?
わかりやすくするために、すべての ActionListener のものを削除しました。しかし、これは私が修正できないレイアウトです。
c# - C# のレイアウト マネージャー
C# で UI を設計しようとしています。私は Java のバックグラウンドを持っており、Java のさまざまなレイアウト マネージャーに精通しています。
だから私がやろうとしていることは次のとおりです。
私はペインを持っています。このペインに、コントロールを上下に追加したいと思います。Java では、BoxLayout (Y 軸) を使用してから、コントロールを追加しました。また、個々のコントロール/コンテナーは、個々のコンテナーごとに異なるレイアウトを使用してさらにカスタマイズできます。
C#でこれを行うにはどうすればよいですか?
私がする必要があるのは:
1)コントロールを上下に追加します。個々のコントロールは、小さなコントロールのコレクションにすることができます。
だから私が持つことができるのは次のようなものです:
各コントロールは、X 軸の BoxLayout など、独自のレイアウトを持つことができます。これをすべて行うにはどうすればよいですか?
PS: 私は WINFORMS を使用しています。
java - BoxLayout でコンテナーの上部に貼り付ける方法
Y_AXIS レイアウトを持つ親 JPanel があります。このコンテナの子もすべて JPanel です。コンポーネントはうまく積み上げられ、すべて整列されていますが、親の JPanel の上部に貼り付けて、余分なスペースがすべて下部にあり、コンポーネント間に余分なスペースがないようにしたいのです。接着剤を使用してみましたが、何か間違っている可能性があります。また、すべての子で AllignmentX と AllignmentY をそれぞれ左と上に設定しました。
だから、私が欲しいのは、親パネルの子のスタックで、高さが引き伸ばされておらず、親コンテナーの上部 (および可能であれば左) にくっつき、余分なスペースはすべて下部に配置されます。 :
編集:
java - Boxlayout を使用すると、パネルのサイズが親パネルの半分のサイズになります
JPanel をメイン パネルとして使用して、ユーザーに情報を表示しています。
メソッドを使用して、他に 3 つの JPanel を作成しました。titlePanel、verbiagePanel、closeButtonPanel。これらの各メソッドはコンポーネントとして割り当てられ、メイン パネルに追加されます。メインパネルと他のパネルで BoxLayout を使用しています。
その上にメインパネル メソッド。ダイアログをコンパイルして実行すると、verbiagePanel 以外はすべて正しく表示されます。親パネルと他の 2 つのパネルの半分のサイズです。

これが私の verbiagePanel のコードです
面白いのは、BoxLayout を Panel から削除した場合です。パネルは、他の 2 つのパネルと一致するように拡張されます。しかし、ラベルの間隔は狂っています。パネルに少なくとも 5 つのラベルが表示されることになります。わかりやすくするために、現在は 2 つだけを表示しています。