我在一个 JPanel 中创建了一个 JPanel,我想将它的宽度和高度属性设置为一些特定的数字。这是我到目前为止所拥有的。
searchPanel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
searchPanel.setBorder(BorderFactory.createCompoundBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED), new EmptyBorder(12, 12, 12, 12)));
c.insets = new Insets(2, 2, 2, 2);
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 1;
c.weighty = 1;
c.gridx = 0;
c.gridy = 0;
searchPanel.add(typeLabel, c);
c.weightx = .8;
c.weighty = 1;
c.gridx = 0;
c.gridy = 1;
searchPanel.add(typeComboBox, c);
....
yearComboBox.setModel(this.yearDefaultCombo);
typeComboBox.setModel(this.typeDefaultCombo);
updateYearComboBox();
this.setLayout(new BorderLayout(10, 10));
this.setBorder(new EmptyBorder(10, 10, 10, 10));
searchPanel.setSize(200, 100);
this.add(searchPanel, BorderLayout.NORTH);
在代码中,“this”指的是父 JPanel。现在,由于 BorderLayout.NORTH 约束,我的内部“searchPanel”沿着屏幕的整个顶部延伸,但我只希望它作为左上角的一个小面板,但是 setSize 对我不起作用。
谢谢。