You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vaadin中集成Web组件?Maven依赖后Java类使用方法

第三方Vaadin Web组件集成步骤(以paper-countries为例)

你已经通过Maven添加了依赖,接下来按以下步骤用Java代码使用这个组件:

  • 第一步:找到组件对应的Java类
    这个组件的Web Component标签是paper-countries,对应的Java包装类通常是PaperCountries(遵循Vaadin命名规范:把短横线分隔的标签名改成大驼峰)。你可以直接在依赖的jar包中查找这个类,或者参考组件的官方文档确认。

  • 第二步:像默认组件一样创建实例并添加到布局
    和使用Button、TextField这类原生Vaadin组件完全一样,直接在Java代码中创建组件实例,再添加到布局里:

    import com.bluewatertracks.papercountries.PaperCountries;
    import com.vaadin.flow.component.orderedlayout.VerticalLayout;
    import com.vaadin.flow.router.Route;
    
    @Route("countries")
    public class CountriesView extends VerticalLayout {
        public CountriesView() {
            PaperCountries countriesPicker = new PaperCountries();
            add(countriesPicker);
        }
    }
    
  • 第三步:设置组件属性
    组件的各项配置可以通过Java类的setter方法完成,比如设置默认选中的国家、开启多选模式:

    // 设置默认选中中国
    countriesPicker.setValue("CN");
    // 开启多选模式
    countriesPicker.setMultiple(true);
    

    具体可配置的属性可以查看Java类的setter方法列表,或者组件的官方文档说明。

  • 第四步:监听组件事件
    如果要处理用户的选择操作,直接使用addValueChangeListener监听值变化事件即可;如果是多选模式,返回的结果会是List类型:

    // 单选模式下监听选中事件
    countriesPicker.addValueChangeListener(event -> {
        String selectedCountry = event.getValue();
        System.out.println("选中的国家:" + selectedCountry);
    });
    
    // 多选模式下监听选中事件
    countriesPicker.setMultiple(true);
    countriesPicker.addValueChangeListener(event -> {
        List<String> selectedCountries = event.getValue();
        System.out.println("选中的国家列表:" + selectedCountries);
    });
    
  • 第五步:验证依赖与资源加载
    如果启动后组件不显示,先检查Maven依赖是否正确导入——Vaadin会自动处理Web Component的资源导入,不需要手动编写JS代码。若仍有问题,确认组件版本和你的Vaadin版本是否兼容(比如Vaadin 24需要对应适配版本的组件)。

内容的提问来源于stack exchange,提问作者danyashes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 05:54:17