2011-07-26 6 views
-1

은 JTextField, JCombobox와 같이 JComponent를 동적으로 생성합니까? 내가 시도한 것은 일 ..하지만 글로벌 변수로 선언 된 한 번만 추가 할 수 있습니다. 어쨌든 런타임마다 변수 이름을 변경하는 것을 좋아합니까?런타임 중에 JComponent를 동적으로 생성하십시오.

+2

그 질문은 나에게 의미가 없습니다. 동적으로 생성 된 구성 요소는 '변수 이름 변경'과 어떤 관련이 있습니까? –

답변

2

동적으로 생성하는 모든 구성 요소에 고유 이름을 지정할 수 없습니다.

텍스트 필드를 정의 할 때이를 List (또는 다른 데이터 구조)에 추가해야합니다. 그런 다음 목록에서 개별적으로 텍스트 필드에 액세스 할 수 있습니다.

List<JTextField> textFields = new ArrayList<JTextField>(); 

for (int i = 0; i < 10; i++) 
{ 
    JTextField textField = new JTextField(); 
    textFields.add(textField); 
    somePanel.add(textField); 
} 

somePanel.revalidate(); 
+0

hmm.i는 이전에이 방법을 시도했지만 ... 결과는 여전히 동일합니다. 한 번만 텍스트 필드, jcombobo, 확인란에 한 번 추가 할 수 있습니다. 한 번만 .hmm 번만 동적으로 생성해야합니다. –

+1

음, 코드가 잘못되었습니다. 문제를 나타내는 [SSCCE] (http://sscce.org)를 게시하십시오. – camickr

+0

나는이 코드를 메서드에 넣고 새로운 생성 된 구성 요소 위치가 보이는 영역 밖에있을 경우를 대비하여 부모 프레임에서'pack()'이라고 부릅니다. – mastaH

관련 문제