问题描述
我已使用 Vaadin 设计器将单选按钮组添加到我的视图中:
<vaadin-radio-group value="Line" id="vaadinRadioGroup" style="margin-left: var(--lumo-space-s);">
<vaadin-radio-button name="Line" style="flex-grow: 0; align-self: stretch;" checked>
Line
</vaadin-radio-button>
<vaadin-radio-button name="Heatmap" checked>
Heatmap
</vaadin-radio-button>
<vaadin-radio-button name="Both" checked>
Both
</vaadin-radio-button>
</vaadin-radio-group>
在我的 Java 代码中:
vaadinRadioGroup.addValuechangelistener(radioButtonEvent -> {
System.out.println("The event is triggered.......")
});
单选按钮值的变化不会触发changeValueEvent。我在这里遗漏了什么??
解决方法
仔细观察一下就会发现问题:如果您还希望能够从 Java 端使用单选按钮组,则无法在设计本身中声明数据。您应该使用例如从 Java 端执行此操作setItems()
或添加 DataProvider。如果这样做,在您查看设计时将看不到各个单选按钮,但在您运行应用程序时它们会出现。