Java Swing:設定方法を教えてください最大幅のJTextField?
-
02-07-2019 - |
質問
書いカスタムファイル選択す。私のUIは、まず最初にユーザがクリックするボタン、シ JFileChooser
;ときに限り、絶対パスの選択したファイルに書き込まれ JTextField
.
問題は、絶対パスは、通常、長いことが原因となり、テキストフィールドを拡大し、その容器にも幅広い。
またこんなのテキストフィールドが広すぎます:
fileNameTextField.setMaximumSize(new java.awt.Dimension(450, 2147483647));
現在が空となっておりますので、既に400px長が GridBagConstraints
になっています。
私はできるようにテキストフィールドでHTMLページ、固定サイズのない拡大入力が長すぎます。
なので、どうやってセットの最大サイズ JTextField
?
解決
いに異なる可能性があるレイアウトマネージャごテキストフィールドです。一部レイアウトマネージャの拡大や一部なのです。一部の拡大はあるのですが、その他。
んとやっている
filedNameTextField = new JTextField(80); // 80 == columns
その場合、ほとんどの合理的なレイアウト、フィールドは変わらないサイズの少なくとも、な成長).よくレイアウトマネージャの動作がひどく時に入れ JScrollPane
s.
私の経験を行う制御するサイズによ setMaximumSize
や setPreferredWidth
で不安定です。スイング決定し、独自のレイアウトマネージャとができるかという方法について説明します。
すべてのもっとも、いった問題を経験しており、きっとあ堅実な利用に配置するレイアウトマネージャの問題を解決の問題です。
他のヒント
私は、この設定により最大幅は、コンテナのテキストを利用して、 setMaximumSize
.
にdavetronの答えは、この脆弱溶液ので、レイアウトマネージャが無視されます。私の場合、コンテナのほか、最初の試験内にあります。
ないセットのサイズのコメントを指定します。代わりにセットの列のサイズがゼロ以外の値によsetColumnsまたはコンストラクタを利用して、列の引数。
何が起きているのは、適切なサイズにより報告されたがJTextComponentの列がゼロでに全額のスペースをレンダリングするために必要なのです。時列がゼロ以外の価値の適切なサイズの必要サイズに多くの標準パックドカラム幅.(可変ピッチフォントでは、通常に近いサイズの場合は'm').列に設定ゼロでは、テキストフィールドが要求するとされたほどのスペースで伸ばし、全体の容器です。
からだき,誠にありがとうございまGridBagLayoutと記入するとともにセットの列1として記入の伸びにそれに基づき、その後の各コンポーネントやその他の適当に低い番号です。