2013-03-25 2 views
0

JPanel을 확장하고 JTextFields, JCheckBox 및 두어 JLabels 인 간단한 클래스 StatPanel이 있습니다. 이 패널은 정보를 표시하는 데 사용되는 일련의 패널로 사용되며 사용자가 JTextFields 중 일부의 데이터를 편집 할 수 있도록 허용하며이 중 약 40 개는 모두 프로그램 측면에 함께 넣습니다 (JScrollPane). JPanel. 내가 사용중인 레이아웃은 GridLayout(0,1)입니다.JPanels 사이의 줄이기

나는 그 (것)들을 일하고있다 그러나 스크롤 패널에있는 때 그들은 수직으로 너무 멀리 떨어져있다. 여백을 변경하고 GridLayout의 간격을 변경하고 다양한 항목의 여백을 변경했습니다. 내가 할 수있는 일은 없어. 내가 프로그램에서 사용하는 경우

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); 
    } 
} 

은 다음과 같습니다 :

StatPanel 클래스의 생성자입니다

screenshot

내가 너무 많은 스택 하겠어으로 그 (것)들을 다른 사람의 위에 거의 1 개를 원한다 그러나 나는 그 (것)들 사이 간격을 제거하는 것처럼 보일 수있다.

어떻게 처리하나요?

도움 주셔서 감사합니다.

답변

2

FlowLayout API를 확인하십시오. 기본적으로 JPanel은 기본 가로/세로 간격이 5 픽셀 인 FlowLayout을 사용합니다. 레이아웃 관리자가 사용하는 수직 간격을 변경하고자 할 것입니다. 그래서 방법의 상단에 당신은 추가 할 것입니다 :

setLayout(new FlowLayout(...)); 

편집 : 당신이 간격을 변경하면

당신은 또한 상단의 간격을 잃게됩니다/메인 패널의 하단에 당신은 할 수 있습니다 있도록 패널에 EmptyBorder을 추가하십시오.

+0

+1 나를 때려주세요. – MadProgrammer

+0

@MadProgrammer, 와우, 변화가 있습니다. 보통 키보드로는 나보다 빠릅니다 .-) – camickr

+0

먼저 모든 가정을 확인해야했습니다.) – MadProgrammer