問題タブ [layout-manager]

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.

0 投票する
1 に答える
171 参照

java - GroupLayoutを使用した後のJComponentの正しいサイズの取得

GroupLayoutをレイアウトマネージャーとして使用する別のJPanelに配置した後、JPanelの正しいサイズを取得できるかどうかを確認したいと思いました。私はすでに使用しようとしました:

.getPreferredSize():これにより、フレーム内のJPanelに描画される実際のサイズではなく、私が設定した優先サイズになります(フレームのサイズが変更されると、要素は水平方向に拡張されます。これは値には表示されません。 )。

.getSize():0を返します。

.getHeight():0を返します。

.getWidth():0を返します。

コードの配置は関係があるかもしれませんが、画面に表示された後に実行されるため、問題にはなりません。

画面に表示された後で強制的に実行するには、EventQueueを使用できるかもしれませんが、方法がわかりません。

ご回答ありがとうございます!

0 投票する
3 に答える
4342 参照

java - ここで setResizable メソッドを使用する方法

ここに画像の説明を入力 IDE として netbeans を使用しています。JFrame に設定するにはどうすればよいですかsetResizable(false)。netbeans に JFrame のオブジェクトが表示されません。

0 投票する
2 に答える
839 参照

javascript - MVC/Backbone.js アプリケーションの JavaScript レイアウト管理?

Backbone.js で記述された私の Web アプリケーションには、私が「モード」と呼んでいるものがあります。各モードは、現在アクティブなモデルとビューを示します。ハッシュ (#) のモード パラメータを変更することで、モードを切り替え、必要なバックボーン モデルとビューをインスタンス化します。

また、優先レイアウトを記述し、モード レベルでコンテナーの html コードを挿入することも論理的に思えます。

モード「PopulationPyramidMode」にモデルと 3 つのバックボーン ビューがあるとします。「HeaderView」は、垂直方向に 30 ピクセルを占める必要があります。「SidebarView」は水平方向に 200 ピクセルを占める必要があり、「CanvasView」は画面の水分を満たし、サイズ変更イベントでスケーリングする必要があります。

さらに複雑なことに、CanvasView は、サイズ変更時に再レンダリングする必要があるビジュアライゼーションを保持します。つまり、x/y スケールを再計算する必要があります。

それで、これに対する最善のアプローチは何ですか?

1) レイアウト ロジックはどこに配置する必要がありますか?
- 別の layoutManager で - その場合、どのように?
- 各ビューは、その推奨サイズなどを説明する必要がありますか?

2) レイアウトに必要な HTML/CSS を挿入し、レイアウトを切り替えるにはどうすればよいですか?

特定のヒントと、JavaScript レイアウト全般についてありがとうございます。

0 投票する
3 に答える
484 参照

java - Swing: 1 つのコンポーネントにレイアウト マネージャーを無視させる簡単な方法はありますか?

絶対的な意味で配置したい 1 つのコンポーネントを含む JPanel がありますが、残りのコンポーネントはレイアウト マネージャーに従って配置されます。

これを行う簡単な方法はありますか?

0 投票する
1 に答える
1194 参照

java - 動的にサイズ変更するが、LayoutManagerと相互運用するカスタムSwingコンポーネント

JPanelいくつかの情報のビューとして機能するサブクラスがあります。

情報が変更されると、の最小/最大/推奨サイズJPanelも変更される場合があります。

このイベントを適切に処理して、?でうまく機能させるにはどうすればよいLayoutManagerですか?

オーバーライドgetPreferredSize()してみましたが、一度しか呼び出されていないようです。

0 投票する
1 に答える
4856 参照

swing - JLabel の水平配置が期待どおりに機能しない

これは、次のプロパティを持つ一連の JLabels で表示するつもりだった JFrame です。

  • 縦積み
  • 水平方向に中央揃え
  • 緑の枠
  • 白色の背景
  • 青文字

しかし、私は代わりにこれを取得します:

ここに画像の説明を入力

垂直に積み重ねられた青いテキスト、緑の境界線は問題なく機能しますが、白い背景と水平方向の中央には機能しません。また、ラベルが JPanel の幅全体に広がると思っていたでしょう。

私は何を間違っていますか?


編集:背景色に関するこの質問を見逃しました。残りの質問は、BoxLayout と、他の軸でのコンポーネントの配置についてです。


0 投票する
2 に答える
4912 参照

java - Swing: 列フロー レイアウト マネージャー?

LayoutManager大まかに次のように、コンテナ (JPanel など) 内の一連のコンポーネントを列に表示できる を 探しています。

  • コンテナの幅は入力制約です。
  • コンテナーの推奨高さは幅の関数であり、次のいずれかです。
    • 複数の列に配置されている場合に、コンポーネントを幅に収めるのに必要な最小の高さ。
    • コンポーネントを 1 つの列に収めるのに必要な最小の高さ。
  • コンポーネントは、上から下、左から右の新聞コラムの順序で配置されます。

以下は、13 個のコンポーネントを示す例 (ローテク テキスト表示) です。3 列に収まる場合は、次のようになります。

幅が広すぎる場合は、次のようになります。

幅が広すぎると、次のようになります。

このようなことを行うために使用またはサブクラス化できる既存の LayoutManager はありますか?


編集:これは垂直レイアウトに関するこの他の質問に非常に近いですが、そのレイアウトにはコンポーネントの高さが制約であり、私のコンポーネントの幅は制約です。

0 投票する
2 に答える
1574 参照

java - Swing と JPanels、レイアウト マネージャー

私は数週間前に(初めて)swing を使ってみました。垂直方向の配置に問題があるようです。

状況は次のとおりです。borderlayout の West 部分に boxlayout(Y_AXiS) JPanel があります。JPanel w/boxlayout 内には、他に 2 つの JPanel があり、これらを垂直方向に配置します (フレームのサイズに関係なく、画面の上部に向かって押し出されます)。ただし、レイアウト マネージャーは、2 つの JPanel の間に大きな垂直方向のスペースを置いているようです。これにはグリッドレイアウトの方が適しているのではないかと考えていましたが、よくわかりません。私は何度もグーグルで答えを探し、問題を解決しようとしましたが、うまくいきませんでした。助けてください!

DrawPanel.java

これを実行すると、次のように表示されます: http://concertforhope.net/citeforme/javabug.png

下部のタブが上部のタブに対して押し上げられていないことに注意してください。

NVM、理由はわかりました。タブはそれほど小さくはありませんでした。背景を間違った方法で塗りつぶしていました (白いボックスは実際のタブを表していませんでした)。助けてくれてありがとう。

0 投票する
2 に答える
283 参照

java - JPanel のフレームにスペースを割り当てる

サイズの異なる 2 つの異なる JPanel を追加する必要がある JFrame があります。私はBorderLayoutを使用しています.2つのパネル(サイズはすでに設定されています)が完全に収まるように十分なスペースがあるようにフレームを設定しています。ただし、実行すると、右側の 2 番目のパネルが横にいっぱいに押しつぶされて、非常に薄くなります。

0 投票する
2 に答える
72639 参照

java - 複数の jPanel を jFrame に追加する

2 つの jPanels を JFrame に並べて追加したいと考えています。2 つのボックスは jpanels で、外側のボックスは jframe ですここに画像の説明を入力

これらのコード行があります。JPanel を拡張する seatinPanel という 1 つのクラスがあり、このクラス内には、コンストラクターと、JPanel オブジェクトを返す utilityButtons という 1 つのメソッドがあります。utilityButtons JPanel を右側に配置します。ここにあるコードは、実行時に utilityButtons JPanel のみを表示します。