我有一个简单的类StatPanel
,它扩展了JPanel
并且有几个JTextFields
,JCheckBox
和一对JLabels
。该面板将用作一系列用于显示信息的面板,并允许用户编辑某些JTextFields
中的数据,我可能将其中大约40个全部堆叠在程序一侧的JScrollPane
JPanel
。我使用的布局是GridLayout(0,1)
。减少JPanel之间的差距
我让它们工作,但是当它们在滚动面板中时,它们的间距相差太大。我尝试更改边距,更改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);
}
}
当我在程序中使用它,它看起来是这样的:
正如我将堆这么多他们我希望他们几乎一个在另一个之上,但我似乎可以消除他们之间的差距。
这是如何完成的?
谢谢你的帮助。
+1打我吧 – MadProgrammer 2013-03-25 04:45:37
@MadProgrammer,哇,这是一个变化,通常你比我的键盘快:-) – camickr 2013-03-25 04:50:47
必须先检查所有的假设;) – MadProgrammer 2013-03-25 04:59:31