我有一个自动创建jlabels
的代码。
我希望每个label
都在一行,而不是旁边!
我使用此代码:
lbl = new JLabel[rows];
for (int i = 0; i < rows; i++) {
lbl[i] = new JLabel(arrayResultRow[i].toString()+ "\n" );
}
但\n
不起作用!
答案 0 :(得分:3)
Google并学习Java Swing布局管理器教程并开始阅读。
可能您将JLabel添加到默认情况下使用FlowLayout的JPanel,您需要将容器的布局更改为GridLayout或BoxLayout。
编辑:这是链接:Laying out Components。
即,
// add JLabels to a JPanel that uses GridLayout set to have
// 1 column and "rows" number of rows.
JPanel labelHolder = new JPanel(new GridLayout(rows, 1);
lbl = new JLabel[rows];
for (int i = 0; i < rows; i++) {
lbl[i] = new JLabel(arrayResultRow[i].toString());
labelHolder.add(lbl[i]);
}