問題タブ [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 は共有できません
JFrame
ボックスレイアウトを使用したいこのJavaクラスがありますが、 java.awt.AWTError: BoxLayout can't be shared
. この問題を抱えている他の人を見たことがありますが、コンテンツペインにボックスレイアウトを作成することで解決しましたが、それが私がここで行っていることです。これが私のコードです:
java - BoxLayoutの配置の問題を理解するのを手伝ってください
Java Layouts を使用して非常に単純なウィンドウを作成しようとしています。ボタン、プログレス バー、ラベルの 3 つの要素を配置します。ボタンは垂直方向の中央に配置する必要があり、進行状況バーは全幅にする必要があり、ラベルは左揃えにする必要があります。
以下にいくつかのコードを示します (ペインが JFrame のコンテンツ ペインであり、ボタン、progressBar、およびラベルが以前に作成されていると想定してください)。
アプリケーションをテストすると、すべてがずれていて、めちゃくちゃになっていることがわかります。ボタンとラベルがランダムにインデントされており、ウィンドウのサイズを変更すると、インデントの量が奇妙な方法で変化します。プログレスバーは見栄えがします(全幅)。
何が起こっているのかわかりません。手がかりを教えてもらえますか?
netbeans - Netbeans JLabel アンカーがレイアウト マネージャーを圧倒する
私はこれが多くのさまざまな方法で求められていることを知っており、それらを試しましたが、成功しませんでした. GUIを作成するためにnetbeansとswingを使用しています。
JPanel 内に Jlabel があります。パネル内にラベルを配置すると、最も近いコンポーネントに自動的に固定されますが、これは私が望んでいるものではありません。サイズに関係なく、コンポーネントを中央に配置したい。
ただし、GUI エディターの「コード」セクションでカスタム JPanel を作成して、BoxLayout および GridBagLayout を作成することはできないようです。何があっても、それはまだ固定されているようです。私のエディタで何をしているかの添付の jpg を見ることができます。
誰かアイデアはありますか?
前述のとおり、JPanel の「カスタム作成コード」を次のように変更しようとしました。 new javax.swing.JPanel(new GridBagLayout());
次に、私の JLabel の親タグを削除し、「作成後のコード」を次のように追加しました: statusPanel.add(versionLabel,new GridBagConstraints());
また、GridBagConstraints を中央揃えと入力してみました。
cocoa - BoxLayout in Cocoa
Originally, I wanted to ask how to create user interfaces with cocoa programmatically, i.e. without using interface builder. But it seems that someone else has already asked this question and the answers didn't help me.
So I'll ask a different question, that I hope will indirectly help me answer the previous question. Here it is:
(QUESTION_START)
How do I create an Objective C class that is equivalent in functionality with the BoxLayout class in Java? (Just click the link, the image on that page says everything you need to know about BoxLayout.)
(QUESTION_END)
Any help in the right direction will be appreciated!
There are a few sub tasks that are connected with the question, e.g.
"How do I ask a user interface element (e.g. a button) how large it wants to be" (before it has been drawn to the screen). To draw it on the screen you have to already know its size, don't you? Obviously, the interface builder application has figured out a way to do this.
I know that many Cocoa developers think it's a stupid idea to even try what I want to do. Let me tell you: I know the reasoning behind that opinion. Right now, laying out controls without interface builder sucks, because there is nothing that comes even close to a layout manager in cocoa. But if you think my question is stupid, please DONT answer. The whole internet is full of explanations why you would never want to create UIs with code in cocoa.
Thanks!
java - Java:jsplitpaneとboxlayoutの問題
jsplitpanesの左側にある空きスペースを取り除きたい:
これが私のコードです:
java - SwingBoxLayoutの問題-フィラーに仕事をさせることができない
私がやろうとしていること
Swingでは、または同等の線形コンテナーを使用しようとしてBoxLayout
いますが、コンテナー内のアイテムが垂直方向に伸びています。私のアプリケーションの内部では、それらを垂直方向に伸ばしたくありません。
コンポーネントにpreferredSizeまたはmaximumSizeを設定できることは知っていますが、次のコードは単なる再現であり、実際にはより複雑で動的なコンポーネントのサイズをハードコーディングまたは最大化することはできません。そしてBorderLayout
、そのBorderLayout.TOP
位置でaを使用することはできません。これを行うと、スクロールバーが表示されないためです。そして、私はスクロールペインが必要かもしれません。
私が試したこと
そこで、「非表示のコンポーネントをフィラーとして使用する」で説明されているようfillers
に、を使用しようとしましたが、機能しません。Oracleのドキュメントにはありますが、まさに私が必要としていたもののようです。これが私の試みです:BoxLayout
これは私が得る結果です:
2回目の試行
の代わりにBoxクラスを使用しようとしましJPanel
たBoxLayout
が、視覚的な結果はまったく同じです。これが私の2回目の試みです:
やりたいこと
誰かが私がそれらのフィラーを修正してそれらを機能させる方法を知っていますか?与えられたコードの修正は素晴らしいでしょう。
これは私が絵の具を使って作った絵で、結果として私が欲しいものを示しています。
java - BoxLayout の setPreferredSize() メソッドを希望どおりに動作させることができません
問題は解決したと思いますが、なぜこのように機能するのかわかりません。今後同じ間違いを繰り返さないように、誰かが説明してくれることを願っています。
私がやろうとしていることをコンパイルできる簡単な例を次に示します。
最初は、JLabel を含むパネルが適切なサイズでサイズ変更されないという問題がありました。サブパネルの優先サイズとして mainPanel.getSize() のバリエーションを使用していたためであることがわかりました。この例では、機能する実際の数値を使用しています。
古い方法ではうまくいかなかった理由 (実際に誰かに説明してもらいたいことです) は、SOP の行に見られるように、mainPanel.getSize() が幅と高さ 0 を返す理由です。明らかに 400x300 の画面全体を占めています。
パネルにpreferredSizeを設定すべきではないことを教えてくれた@camickrに感謝します。これは、問題の原因を突き止めるのに役立ちました。
java - BoxLayoutのNullPointerException
Java Swingでこのエラーのデバッグを開始する方法を誰かが知っていますか?
このメソッドからBoxLayout
(行size = ...
)にスローされます
java - BoxLayout から削除するときにコンポーネントが移動しない
私は BoxLayout を使用しており、次のようにコンポーネントを動的に削除しています。
ただし、そうすると、問題のラベルがレイアウトから削除されても、フレームのサイズを変更するまで、他のコンポーネントはそのスペースをカバーするために上に移動しません。コンポーネントを取り外した後、フレームを再描画しようとしましたが、うまくいきませんでした。ラベルは表示されなくなりましたが、以前の場所にはまだギャップがあります。
コンポーネントが削除されるたびに自動的にウィンドウのサイズを変更するという明らかに恐ろしい問題は別として、どうすれば望ましい動作を得ることができますか?
height - 動的なテキストの長さと BoxLayout での折り返しが不適切な高さの JTextarea
縦型 BoxLayout に複数行のラベルと画像ラベルを入れようとしています。複数行のラベルについては、setEditable(false) で JTextArea を使用します。画像ラベルには JLabel([ImageIcon]) を使用します。
次のコードは、テキストエリアの下に多くのスペースがあることを示していますが、それは望ましくありません。シンプルにするために、画像ラベルの代わりにテキスト ラベルを追加しました。
私が欲しいのは、テキストエリアとラベルを上から下に積み重ねることです。各テキストエリアの直後にラベルが続き、最後のラベルの後にはウィンドウの下部まで空のスペースが必要です。
別の Layout Manager の方が良いかもしれませんが、JTextArea の問題だと思います。どんな解決策も役に立ちます。
ありがとう。
コンパイル可能なコードは次のとおりです。