我的Java程序中有一个名为jta的JTextField,我希望它的大小约为4行,并且我在声明TextField时设置了大小,并且我还使用了jta.setSize(),但是我仍然无法得到它更高。我认为这是因为MigLayout对组件连续有多大有限制。JTextArea在MigLayout中不改变垂直尺寸
这里是我的代码SNIPPIT:
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
这里是它的样子
正如你看到的是文字的只有一行高,任何帮助?
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的大小,它仍然是一条线,但如果你注释掉panel.setLayout(mg);
那么它的工作原理精细。
有没有理由使用静态的?考虑发布(SSCCE)[www.sscce.org]以获得更快更好的答案。 – nachokk
@nachokk我用不同的方法使它可编辑,改变颜色等。什么是SSCCE? –
简短的自包含正确的例子,你发布可编译的代码,然后人们想要帮助你,复制粘贴,并可以测试代码,并会很容易 – nachokk