2011-05-06 4 views
2

setHorizontalGroup 메서드는 setHorizontalGroup(GroupLayout.Group group)으로 정의됩니다.setHorizontalGroup() 인수

layout.setHorizontalGroup(
layout.createSequentialGroup() 
    .addComponent(c1) 
    .addComponent(c2) 
    .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) 
     .addComponent(c3) 
     .addComponent(c4)) 
); 

우리가 어떻게이 모든 추가 : 나는이 거쳐가 인수의 이해 해달라고?

+0

한 가지 조언 : GroupLayout을 사용하는 코드를 수동으로 작성하거나 이해하려고 시도하지 마십시오. GroupLayout은 GUI 디자이너 (예 : NetBeans)와 함께 사용되어야합니다. – jfpoilpret

+0

@ jfpoilpret 왜? –

답변

2

이것은 메소드 체이닝의 한 예입니다. GroupLayout.Group의 메서드를 살펴보면 모든 메서드가 호출 된 개체에 대한 참조를 반환하므로 여러 호출을 함께 연결할 수 있습니다.

당신이 게시 한 코드는 다음과 동일합니다 :

GroupLayout.Group group = layout.createSequentialGroup(); 
group.addComponent(c1); 
group.addComponent(c1); 
group.addGroup(...); 
layout.setHorizontalGroup(group); 

group.addComponent(c1) 이후 반환 group, 당신은 체인 통화를 할 수 있고 group.addComponent(c1).addComponent(c2) 물품.

+1

@ casablanca이 문장을 이해할 수 없다. GroupLayout.Group group = layout.createSequentialGroup(); createSequentialGroup()은 GroupLayout.Group에 대한 참조를 반환하지 않는다. –

+0

@Suhail Gupta :'SequentialGroup'과'ParallelGroup'은 모두'GroupLayout.Group'의 서브 클래스입니다. 그래서'Group'이 필요한 곳이면 어디든지 건네 질 수 있습니다. – casablanca