【发布时间】:2019-05-12 23:48:03
【问题描述】:
我用 JavaFX/Scenebuilder 构建了一个 GUI,它有多个具有类似功能的下拉菜单。我想对所有下拉菜单使用相同的功能,所以我必须检查动作事件的来源。我当前的代码是:
public void dropdownPressed(ActionEvent event) {
ComboBox<String> comboBox = (ComboBox<String>) event.getSource();
Label.setText(comboBox.getSelectionModel().getSelectedItem());
}
它有效,但是它给出了以下警告:
Type safety: Unchecked cast from Object to ComboBox<String>
所以据我了解 getSource() 返回一个通用对象,不能保证可以转换为 ComboBox ?有什么办法可以解决这个问题?
【问题讨论】:
-
使用
instanceof来验证事件源是正确的类型,然后再进行转换。 -
@Jason 这将如何工作?我试过“if(event.getSource() instanceof ComboBox)”,但这似乎并不能解决问题
标签: java string object javafx combobox