如何使用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();
}
});
}
}
怎么了?
我没有不同的文本字段大小。
答案 0 :(得分:0)
所有示例都有相同大小的JTextField
然后创建不同大小的文本字段:
JTextField textField1 = new JTextField(10);
JTextField textField2 = new JTextField(20);
构造函数中的参数将建议文本字段应该有多大。因此,任何尊重组件首选大小的布局管理器都将使用此信息。