問題タブ [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 - OS に応じた BoxLayout のボタンの水平方向の配置
[OK] ボタンと [キャンセル] ボタンをボックス (BoxLayout を持つ) に横方向に配置しています。後で、このボックスを JDialog のコンテンツ ペインの BorderLayout.PAGE_END に追加します。これは Windows で完璧に機能するので、[OK] は [Cancel] の左側にあります - 私が追加したように。
Linux でテストすると、ボタンの配置は Windows と同じで、[キャンセル] の左側に [OK] が表示されます。これもまた、コードに従います。
ただし、Linux (Ubuntu) では、ボタンのデフォルトの配置は [OK] の左側の [キャンセル] です。これは、私のコードとボタンの配置とは対照的です。
それで、私の質問は次のとおりです。Javaにある種の定数があるかどうか-OS_PLACEMENTなど、Linuxで[キャンセル]ボタンを[OK]の左側に表示する場所に設定できますか? JavaがRTLおよびLTRレイアウトの定数をサポートしていることを知っているので、私はこれを求めています。したがって、この種の配置に関連する定数があるのではないかと考えました。
Swing アプリの L&F を System L&F に設定していることに言及したいと思います。以下は main() の最初の行です
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
java - JLabel は展開しますが、ワードラップは行いません
次のコードに示すように、エラー メッセージを表示するための JLabel オブジェクトがあります。私が理解しているように、メッセージが html タグ内に埋め込まれている場合、ラベルはワードラップになるはずです。ただ、私の場合、ラベルが横に伸びているように見えます。誰かが私が正しくしていないことを教えてもらえますか? または、長いエラー メッセージを表示するためのより良い方法はありますか?
コードは次のとおりです。
java - BoxLayoutの中央にコンポーネントを動的に追加することは可能ですか?
BoxLayoutをY軸に揃えてコンテンツペインを作成し、さらに2つのJPanelを追加した小さなスイングアプリケーションを構築しています。ここまでは順調ですね。
ここで、最初のJPanelを再作成し、それを他の2つのJPanelの中央に追加する必要があるという問題に遭遇しました。
別のパネルがレイアウトに追加されることが複数ある可能性があるので、適切に拡張されることを望みます。
結論:私が探しているのは、最後のコンポーネントの前にコンポーネントを追加するオプションを使用して、BoxLayoutにコンポーネントを追加することです。
ありがとう。
java - javaBoxLayoutパネルの配置
私は周りを見回しましたが、自分の状況に合わせて特別に調整する解決策を見つけられませんでした。ダイアログボックスに表示するパネルがあります。
最後の2つのパネル、type5とtype6のサイズは同じサイズなので、見栄えがします。ただし、ヘッダーと最初の4つのパネルはサイズが異なるため、すべて左揃えにしてください。今のところ、これを修正する方法として良い解決策を見つけていません。
問題は、最初の5つのパネルを左揃えにし、最後の2つのパネルを左揃えにするにはどうすればよいですか?そうでない場合、どうすればそれらすべてを左揃えにできますか?setalignmentx()はパネルでは使用できません。GridLayoutを使用してみましたが、GUIのメインウィンドウの幅がかなり大きく、画面にうまく収まらないため、Y軸に沿ったBoxLayoutです。ヘルプや提案をありがとうございます。
java - AlignmentXを無視するJava Swing BoxLayout
setAlignmentX
以下のコードでは、 withを呼び出すことでComponent.LEFT_ALIGNMENT
、中央のスライダーの上に左揃えのラベルを取得することを期待していました。何らかの理由で、setAlignmentX に渡される値に関係なく、ラベルも中央に配置されます。
左揃えにするには、setAlignmentX にどのような値を渡す必要がありますか?
java - Java Swingコンポーネントの相互作用(BoxLayoutおよびLabel)
OK、以下のテストコードに関するいくつかの質問...投稿する完全なプログラムはありませんが、Swingを十分に理解してそれを試してもらいたいと思っています。これはJPanel(BoxLayout)内のJLabelであり、右下のラベルのサイズ設定に取り組んでいます。
示されているコードで得られるのは、幅300×高さ30のステータスボックスです。推奨サイズとラベルの最小サイズをいじりましたが、合理的な動作をしていないようです。
- JPanelの推奨サイズが高さに影響するのに幅には影響しないのはなぜですか?setPreferredSize()のxディメンションを0または500に変更しても、ラベルから300になります。
- JLabelの最小サイズが幅に影響するのに高さには影響しないのはなぜですか?setPreferredSize()呼び出しにコメントを付け、ラベルの高さを30に増やしても、何も起こりません。
- 私はJPanelsetMinimumSize(コメント付き)から始めましたが、効果がなくなりました-なぜJPanelにsetPreferredSize()が必要なのですか?
- ラベルテキストを「」から「」に変更すると、ラベルの高さが高くなります。ここではラベルが高さを制御していないのに、なぜこれがまったく効果がないのですか?
ちなみに、createRigidArea()呼び出しは、画面の左側に固定するのではなく、セパレータを右側に強制することです。これについてもっと厄介なアイデアがあれば、私は感謝するでしょう。
java - ボックスレイアウトの幅
ここに私のコードの一部があります:
問題は、画像でわかるように、2 番目のパネルの幅にあります。
どうすれば修正できますか?
フローレイアウトでは、私が望むように見えるからです:
python - kivyでBoxLayoutの順序を変更するにはどうすればよいですか?
私はkivyをテストしており、いくつかのボタンを積み重ねるためにBoxLayoutを作成したいと考えています。私の問題は、レイアウトに追加された子がボトムトップのロジックに従っているのに対し、私は反対のことを望んでいることです。順序を逆にする方法を知っていますか? ありがとう!
java - JPanelは別のJPanelのサイズ変更されます
ネストされたBoxLayoutsについて質問があります。
上部のヘッダーと下部のボディの2つのサブパネルで構成されるDropDownPanelを作成したいと思います。体は最初は隠されています。ヘッダーをクリックすると、本文の表示を切り替えて、その内容を表示できます(展開/折りたたみなど)。
一般的に、これは正常に機能します。ただし、奇妙な動作がいくつかあります。
一方のDropDownPanelのみが展開され、もう一方が折りたたまれている場合、折りたたまれたDropDownPanelはサイズ変更され、右にフロートします。
私はすでにalignmentXのようなJPanelのプロパティを試しましたが、間違いを見つけることができませんでした。誰かが私が間違っていることを知っていますか?
コードは次のとおりです:
DropDownPanel.java
TestFrame.java
html - クロームのオーバーフローオート付きボックスレイアウト
Chromeに奇妙なバグがありますが、Firefoxにはありません。できるだけ簡単な例を作成しました。
基本的に、上部に固定ヘッダーがあり、その下にウィンドウの高さ全体を埋める垂直方向にスクロール可能なセクションがあるレイアウトを作成しようとしています。これは、chromeとfirefoxの両方でうまく機能するようです。Chromeで私が抱えている問題は、ボタンにホバー効果を加えると、ペインが上にスクロールして戻ることです。私の推測では、ホバー効果が痛みを再び引き起こし、それが起こると、それは上にスクロールします。
他のテストでは、overflow:autoが設定されたボックスレイアウト要素が原因であると思われます。
他の誰かがこの問題を経験しましたか?誰かがこれを別の方法で行う方法や修正する方法について何か提案がありますか?
ありがとう!
編集:
私が作成しようとしている完全なレイアウトは次のとおりです。
「コンテンツ」と「サイドバー」を独立してスクロールさせたいのですが。「コンテンツ」は水平方向と垂直方向の両方にスクロールする必要がありますが、「サイドバー」は垂直方向にのみスクロールする必要があります。