[java] Vaadin의 동적 컴포넌트 생성
Vaadin은 Java 기반의 웹 애플리케이션 개발을 위한 프레임워크로, 동적으로 컴포넌트를 생성할 수 있는 강력한 기능을 제공합니다. 이 기능을 사용하여 웹 페이지에서 필요에 따라 컴포넌트를 동적으로 생성할 수 있습니다.
컴포넌트 생성
Vaadin에서 컴포넌트를 동적으로 생성하려면 VerticalLayout
, HorizontalLayout
등과 같은 레이아웃 컴포넌트를 사용하여 컴포넌트를 담을 수 있는 컨테이너를 생성해야 합니다. 그런 다음, 원하는 컴포넌트를 컨테이너에 추가하면 됩니다.
VerticalLayout container = new VerticalLayout();
Button button = new Button("동적 버튼");
container.add(button);
TextField textField = new TextField("동적 텍스트필드");
container.add(textField);
// 생성한 컨테이너를 화면에 추가
add(container);
위의 예제에서는 VerticalLayout
을 사용하여 컨테이너를 생성한 후, 버튼과 텍스트 필드를 컨테이너에 추가하였습니다. 마지막으로 add()
메소드를 사용하여 컨테이너를 화면에 추가하였습니다.
이벤트 처리
동적으로 생성한 컴포넌트에 이벤트를 처리하려면, 각 컴포넌트에 이벤트 리스너를 추가해야 합니다. 이벤트 리스너는 컴포넌트가 발생시키는 이벤트를 감지하고 처리하는 역할을 합니다.
button.addClickListener(e -> {
Notification.show("버튼 클릭됨!");
});
textField.addValueChangeListener(e -> {
String value = e.getValue();
Notification.show("입력값: " + value);
});
위의 예제에서는 버튼과 텍스트 필드에 각각 클릭 이벤트 및 값 변경 이벤트 리스너를 추가하였습니다. 각 이벤트가 발생하면 Notification.show()
를 사용하여 메시지를 표시합니다.