0

如何使用 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();
        }
    });
}
}

怎么了?

我没有不同的文本字段大小。

4

1 回答 1

0

所有示例都具有相同大小的 JTextField

然后为您创建不同大小的文本字段:

JTextField textField1 = new JTextField(10);
JTextField textField2 = new JTextField(20);

构造函数中的参数将建议文本字段的大小。因此,任何尊重组件首选大小的布局管理器都将使用此信息。

于 2013-11-15T16:12:18.557 回答