我的 gui 布局有两个问题。我使用 JTabbedPane 来容纳两个 JPanel,每个面板都有一个按钮和文本区域的选择,每个面板都使用 GridBagLayout 进行布局。在我的一个面板中,我有一个使用 JTextArea 的 JScrollPane。当我将任何内容附加到此文本区域然后单击 gui 使其不再具有焦点时,或者如果我更改选项卡,所有文本字段和文本的大小都会更改为尽可能小。
为了进一步说明我的问题,这里是我在附加到文本区域后单击 gui 之前和之后的图片:
这是我用来将 JTextArea 添加到面板的代码:
table = new JTextArea();
table.setEditable(false);
JScrollPane sp = new JScrollPane(table);
sp.setSize(40, 10);
c.insets = new Insets(10,10,10,10);
c.gridx = 1;
c.gridwidth = 4;
c.gridy = 7;
c.gridheight = 7;
this.add(sp, c);
这是我用来将文本区域添加到面板的代码:
title = new JTextField(10);
author = new JTextField(10);
dueDate = new JTextField(10);
setDate = new JTextField(10);
setWeighting = new JTextField(10);
c.gridx = 2;
c.gridy = 1;
this.add(title, c);//add title field
c.gridx = 2;
c.gridy = 2;
this.add(author, c);//add author field
c.gridx = 2;
c.gridy = 3;
this.add(dueDate, c);//add dueDate field
c.gridx = 2;
c.gridy = 4;
this.add(setDate, c);//add setDate field
c.gridx = 2;
c.gridy = 5;
this.add(setWeighting, c);//add set Weighting field