Java プログラムに jta という JTextField があり、高さを約 4 行にしたいのですが、TextField を宣言したときにサイズを設定し、jta.setSize() も使用しましたが、それでも高さを上げられません。これは、MigLayout に、コンポーネントを 1 行に配置できる大きさに制限があるためだと思います。
ここに私のコードの抜粋があります:
static JTextArea jta = new JTextArea(10, 42);
//declaring the JTextArea
jta.setFont(inputfont);
jta.setBackground(Color.LIGHT_GRAY);
jta.setForeground(Color.WHITE);
jta.setLineWrap(true);
jta.setWrapStyleWord(true);
jta.setRows(4);
//setting the jta up
panel.add(jta,"w 100%, h 100%,span,wrap");\
//adding jta to the panel
これがどのように見えるかです
ご覧のとおり、テキストの高さは 1 行だけですが、何か助けはありますか?
SSCCE:
import net.miginfocom.swing.MigLayout;
public class miglayout {
public static void main(String args[]) {
MigLayout mg = new MigLayout("", "", "1");
JFrame frame = new JFrame("jta SSCCE");
JPanel panel = new JPanel();
JLabel l1 = new JLabel("Row 1");
JLabel l2 = new JLabel("Row 3");
panel.setLayout(mg);
frame.add(panel);
JTextArea jta = new JTextArea(4, 40);
panel.add(l1, "wrap");
panel.add(jta, "wrap");
panel.add(l2);
frame.pack();
frame.setVisible(true);
}
}
このコードを実行するとわかるように、JTextArea のサイズを設定してもまだ 1 行ですが、コメント アウトするpanel.setLayout(mg);
と問題なく動作します。