【发布时间】:2013-11-15 08:45:22
【问题描述】:
如何使用 GridLayout 或其他 Gridxxx 执行此操作?
我想将不同大小的 JLabel 和 JTextField 添加到面板中。
有可能吗?
我有这个代码。
import java.awt.*;
import javax.swing.*;
import javax.swing.border.TitledBorder;
class TEST_rozlozenia {
TEST_rozlozenia() {
JPanel panel = new JPanel();
JPanel lFields = new JPanel(new BorderLayout(2,2));
JPanel labels = new JPanel(new GridLayout(0,1));
labels.setBorder(new TitledBorder("Labels"));
JPanel fields = new JPanel(new GridLayout(0,1));
fields.setBorder(new TitledBorder("TextFields"));
labels.add(new JLabel("Label"));
labels.add(new JLabel("Label1"));
fields.add(new JTextField(55));
fields.add(new JTextField(10));
lFields.add(labels, BorderLayout.WEST);
lFields.add(fields, BorderLayout.EAST);
panel.add(lFields, BorderLayout.NORTH);
JOptionPane.showMessageDialog(null, panel);
}
public static void main(String[] args) throws Exception {
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
new TEST_rozlozenia();
}
});
}
}
怎么了?
我没有不同的文本字段大小。
【问题讨论】:
-
你可以看看
GridBagLayout -
也可以考虑
GroupLayout,见here。 -
但是 JTextField1 的大小必须与 JTextField2 的大小不同。所有示例的 JTextField 大小都相同。
-
这就是你编码的内容 :-) 提示:阅读 GridLayout 的 api 文档。顺便说一句:请学习 java 命名约定并遵守它们。
-
您发布的链接中的图片很丑,这真的是您要给用户的布局吗?
标签: java swing size jlabel jtextfield