【发布时间】:2013-03-25 04:23:02
【问题描述】:
我有一个简单的 StatPanel 类,它扩展了 JPanel,并有几个 JTextFields、一个 JCheckBox 和几个 JLabels。该面板将用作一系列面板,用于显示信息并允许用户编辑某些JTextFields 中的数据,我可能会将其中大约 40 个全部堆叠在程序的一侧一个JScrollPaneJPanel。我使用的布局是GridLayout(0,1)。
我让它们工作,但是当它们在滚动面板中时,它们垂直间隔太远。我尝试更改边距,更改 GridLayout 中的间距并更改各种项目的边距。我所做的一切似乎都无法让他们更亲近。
这是StatPanel 类的构造函数:
public StatPanel(String statName, String statAbility){
super();
this.skillName = statName;
this.setAlignmentY(CENTER_ALIGNMENT);
isClassSkill = new JCheckBox();
statLabel = new JLabel(skillName);
statTotalField = new JTextField(maxLength + 1);
statTotalField.setHorizontalAlignment(JTextField.CENTER);
statAbilityLabel = new JLabel("= " + statAbility + " ");
statAbilityModField = new JTextField(maxLength);
statAbilityModField.setHorizontalAlignment(JTextField.CENTER);
statSeperator1 = new JLabel(" + ");
statRanksField = new JTextField(maxLength);
statRanksField.setHorizontalAlignment(JTextField.CENTER);
statSeperator2 = new JLabel(" + ");
statMiscModField = new JTextField(maxLength);
statMiscModField.setHorizontalAlignment(JTextField.CENTER);
this.add(isClassSkill);
this.add(statLabel);
this.add(statTotalField);
this.add(statAbilityLabel);
this.add(statAbilityModField);
this.add(statSeperator1);
this.add(statRanksField);
this.add(statSeperator2);
this.add(statMiscModField);
}
}
当我在程序中使用它时,它看起来像这样:
因为我要堆叠这么多,我希望它们几乎是一个在另一个之上,但我似乎可以消除它们之间的差距。
这是怎么做到的?
感谢您的帮助。
【问题讨论】:
标签: java swing layout jpanel flowlayout