我有一個簡單的類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