問題タブ [preferredsize]

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 に答える
1154 参照

java - JFrame isResizable(false) サイズ変更の問題

600x600 の ContentPanel で JFrame を作成するつもりでしたが、JFrame のサイズを変更できないようにしたかったのです。このボックス内に、プログラムを実行したときにすべてが一致するように、600x600 の赤枠の長方形を描きました。JFrame のサイズ変更を制限する前に、次のようにして JFrame のサイズを設定します。

そして、プログラムを起動すると、長方形の境界が JFrame の寸法と完全に一致しました。ただし、 isResizable(false) を式に追加すると、長方形の右端と長方形の下端の間にピクセルのバッファーがあるように見えました。少し試行錯誤すると、 isResizable(false) が高さと幅に 10 ピクセルを追加するように見えます。(したがって、contentPane のサイズが 590x590 + 余分な 10 が私の回避策です)

私の質問 これはなぜですか? 余分な 10 ピクセルに関するドキュメントがどこにも見つからないようです。

注: この異常は、サイズを変更せずに JFrame を作成した場合にも観察されました。サイズ変更不可にしないと、監視可能なパネル/contentPane はありませんが、isResizable(false) を使用すると、パネル/ペインの一部が表示されます。

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

java - JList の自動サイズ変更の防止

JPanel(BorderLayout.CENTER)に配置されたJScrollPane内にJListがあり、それを別のJPanelのBorderLayout.EAST(このJPanelのCENTERには別のJPanelが含まれています)内に配置し、このJPanel全体をJTabbedPane内に配置します。最初は、次のようになります。 初期 JList GUI

ここで、いくつかの本をリストに追加します。

いくつかの本を含む JList

別のタブに移動して戻ると、次のようになります。

サイズ変更された JList

私が理解していないのは、JList を含む JPanel には最小サイズと最大サイズの両方が設定されているということです。

JList の自動サイズ変更を防ぐにはどうすればよいですか?

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

java - jscrollpaneでjtreeのpreferredsizeを設定する方法

borderlayout(WEST) で jscrollpane の優先幅を設定しようとしていますが、機能していません。

私のサンプルコードを見てください

しかし、それはデフォルトの幅を示しています。

または、 JTree の優先サイズを設定しようとしましたが、正常に動作していますが、jscrollpane が正しく動作していません。これで私を助けてください。

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

java - JTextField のサイズをピクセル単位で設定する方法

JTextField の幅を画面サイズの 50% などに設定する方法があるかどうか疑問に思っていました。画面の寸法を取得する方法を知っています JTextField は、ピクセルではなく文字数に設定します

textfield = new JTextField("こんにちは", 20);

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

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

java - Java-GroupLayoutでのコンポーネントサイズの混合

電卓GUI用に2セットのボタンを配置しようとしています。それぞれがGroupLayoutを使用してそれらを作成します。1つは数字(および「。」)で、もう1つは操作ボタン用です。これは基本的には機能しますが、ボタンの1つが2倍の長さである場合(たとえば、操作セットの等しいボタン)、他のボタンがラインから外れます。例として設定された操作を使用します。2列と4行のボタンがあります。最後の行にはボタンが1つだけあります-等しい。この2倍の長さを両方の列にまたがって伸ばしたいと思います。現時点では、2番目の列をその上に配置するときに、2番目の列をその最後に沿ってプッシュするだけです。

レイアウトのコードは次のとおりです。operLayoutは操作のレイアウトの名前で、最初の行は左角かっこ、右角かっこ、2番目の行は+と-、3番目の行は*と/で、最後の行は同じです。各ボタンには、他の場所で最小サイズが設定されています(equalsが2倍の長さであることを除いて、すべて同じです)。

なぜこれが起こっているのかは理解していますが、それをどのように整理するのかわかりません。簡単な方法はありますか?それとも私はそれをしている方法を変えるべきですか?ありがとう

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

java - JTable 内のセルの寸法の計算

JTableテーブルの高さを動的に計算するために、さまざまなコンポーネントを含むセルの寸法を計算するにはどうすればよいですか。

たとえば、3 番目の列に複数のチェックボックスが含まれ、他の列にさまざまなコンポーネントが含まれているテーブルがあります。新しいコンポーネントがセルに追加されると、テーブル全体の高さと幅が動的に変化するはずです。

前もって感謝します。

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

java - BoxLayoutが子を拡張しないようにする

いくつかのJComponentをJPanel内に垂直にスタックして、上部にスタックし、余分なスペースが下部にあるようにします。BoxLayoutを使用しています。コンポーネントにはそれぞれJTextAreaが含まれ、必要に応じてテキストを折り返すことができます。したがって、基本的に、これらの各コンポーネントの高さは、(おそらくラップされた)テキストを表示するために必要な最小の高さにしたいと思います。

これが私がやっていることの含まれているコード例です:

子JPanelsは、垂直方向のスペースを埋めるために拡張しています。のりが目的だと思ったので、のりを使ってみましたが、何の役にも立たないようです。何か助けはありますか?

注:ほぼ同じように見える質問を見つけましたが、適用できる回答がない質問はありません。

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

java - JFrame の周りの LineBorder が消える

JPanel に JTextArea を保持させようとしています。すべてのテキストを表示するために必要なサイズであるため、JTextArea の preferredSize に一致するように JPanel 自体のサイズを変更する必要があります。最終的には、JTextArea と Jpanel の間に空の境界線を配置したいのですが、サンプル コードではそれを省略しました。

また、JPanel に境界線を付けたいと考えています。以下のコードは時々動作しますが、lineBorder の下部と右側の部分が消えることがあります。なぜこうなった?PS サイズを更新する方法があまりエレガントではないことはわかっています。より良い方法はありますか?

コードは次のとおりです。

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

java - JavaSwing-3つのドットを持つコンボボックス

Swing GUIにjComboBoxがあり、SQLデータベースから値を入力しています。

すべて正常に見えますが、アプリケーションを実行すると、コンボボックスが表示されました。たとえば、[黒...]の横に3つのドットがあります。

3つのドットを削除する方法を教えてください。

編集:jComboBoxのコードとその画像を追加しました

ここに画像の説明を入力してください

上の画像のように、かなり長い幅を付けましたが、3つのドットを削除できません。

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

java - JavaSwingJPanelオブジェクトサイズはすべてJTextFieldサイズと一致します

JPanel内のすべてのオブジェクトがJTextFieldのサイズを使用するという異常な問題が発生しました。他のオブジェクトにサイズを強制しようとしても、テキストフィールドに指定されたサイズを独自のものとして使用します。たとえば、次のように独自の方法で単一のパネルを設定しようとしています。

最終的には次のようなウィンドウになります...ここに画像の説明を入力してください これJFrame frame;が読み込まれているウィンドウにはframe.pack()、フレームサイズを自動調整するためのメソッドが呼び出されます。BorderLayout()異なる領域(たとえば、WEST、CENTER、EAST)で個々のオブジェクトを作成すると、意図したとおりに機能しますが、パネルにロードされると、すべてのサイズはに基づいてサイズが変更されますJTextField(25)。これがなぜであるかについて何か考えはありますか?