2010-03-25 8 views
2

사용자 입력에 따라 알 수없는 양의 객체를 GUI에 추가 할 수있는 Java 프로그램을 어떻게 만들 수 있는지 알고 싶습니다. 프로그램 내에서 한 번에 하나씩 개체를 프로그래밍 할 수 있지만 더 역동적 인 프로그램을 보지 못했습니다.Java GUI에 요소를 추가 할 수 있습니까?

Java로 할 수 있습니까? 그렇지 않다면 무엇을 할 수 있습니까?

자세한 내용은 다음 그림을 참조하십시오.

질문 블록 당 두 개 이상의 질문이있을 수 있으며, 각 질문은 자신의 질문에 블록의 수 있습니다.

답변

2

물론 자바 스윙에서 할 수 있습니다. 사용자 입력을 기반으로하는 것은 새로운 JPanels를 추가하기로 결정해야합니다. 이 예에서 제공 한 그림에서 Q 블록을 동적으로 추가해야합니다 (블록 &). 당신이 getQandAPanel를 호출 할 때 이제 매번, 이것은 당신이 부모 JFrame의에 추가 할 수 있습니다 새로운 JPanel을 매번를 반환 동적

public getQandAPanel(){ 
    JPanel questPanel = new JPanel(); 
    JPanel answerPanel = new JPanel(); 
    JPanel wrappingPanel = new JPanel(); 
    wrappingPanel.setLayout(new GridLayout(0,1)); 
    //CODE TO DECORATE question and answer panels should go here 
    wrappingPanel.add(questPanel); 
    wrappingPanel.add(answerPanel); 
} 

추가됩니다 있도록 단순히 응용 프로그램 내에서 어떤 이벤트 핸들러에 그 연결합니다. 내가 무슨 말을하고 있는지 알고 싶다면 Java Swings의 좋은 아이디어가 있어야합니다.

3

예 동적으로 구성 요소를 추가 및 제거 할 수 있습니다. 기본 코드는 다음과 같습니다.

panel.add(...); 
panel.revalidate(); 
panel.repaint(); 
관련 문제