非常に単純なJLabelのテキストがかなり長いです。
親レイアウトはGridBagLayoutです。
含まれているフレームの幅が特定の値、たとえば160ピクセルを超えないようにします。
私は "html"としてテキストを設定します。そうすれば、JLabelはテキストを複数の行に折り返すことができます。
これで、JLabelの幅を「修正」したいだけです。しかし、私は方法を見つけていない。
Jframeの最大サイズでは、JLabelはレイアウトマネージャによってチェックされないため、「普通の」ソリューションがあるかどうかはわかりません。
非常に単純な例(ちょうど実行するインポートを修正)は状況を示しています。JLabelをGridBagLayoutに変換します。どのように幅を修正するには?
public class SSCE extends JFrame {
public static void main(String [] args) {
new SSCE().setVisible(true);
}
public SSCE() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.weightx = 1;
gbc.weighty = 1;
gbc.fill = GridBagConstraints.BOTH;
JLabel label = new JLabel("<html>one two three four five six seven eight nine ten eleven twelve thirteen");
add(label, gbc);
gbc.gridy=1;
JLabel label2 = new JLabel("other content");
add(label2, gbc);
pack();
}
}
@AndrewThompson:えっは?それはちょうど任意の数ですが、ポイントはこのように幅を指定できることです。実際には、あなたは私に[ここ]を見せた人です(http://stackoverflow.com/questions/4083322/how-can-i-create-a-jtextarea-with-a-specified-width-and-the可能な限り-sm/4093402#4093402):) –
@AndrewThompson:Ha:D。あなたの編集を見ましたが、ピクセルがデフォルトであることはわかりませんでした。親のHTMLコンポーネントがないので、相対サイズ( '150%')はここではうまくいかないと賭けていますよね? –
* "..正しい?" *あなたのJREは私のものと同じくらい良いです。あなたはそれを試したとき何が起こったのですか? –