java - IOEXCEPTION 错误在 FXML 中一次又一次。试图将 FXML 文件放在 ListView 中的列表元素上
问题描述
public class PopupController {
public ListView<String> listView;
public Button addWalletButton;
public PieChart piechart;
public Label size;
private WalletModel walletModel = Factory.inject(WalletModel.class);
@FXML
public void initialize() throws IOException {
listView.setCellFactory(param -> new EditableCell());
addWalletButton.setOnMouseClicked(event -> {
walletModel.CreateWallet();
listView.getFixedCellSize();
listView.getItems().add("Wallet " + walletModel.WalletSize());
size.setText("Total Wallets: " + walletModel.WalletSize());
});
size.setText("Wallet Size " + walletModel.WalletSize());
listView.getItems().add("Wallet 1");
}
private class EditableCell extends ListCell<String>{
private final TextField textField;
EditableCell() throws IOException {
textField = new TextField();
setGraphic(FXMLLoader.load(getClass().getResource("/selectbutton.fxml")));
}
@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if(empty){
textField.setVisible(false);
}
else{
textField.setVisible(true);
textField.setText(item);
}
}
}
}
它在 initialize() 方法的第一条语句中显示错误。
我正在尝试fxml
通过按钮(“添加钱包”)将文件放在列表元素上。我在fxml
下面附上了我的代码。
我没有收到堆栈跟踪,因为它显示编译错误
<AnchorPane prefHeight="27.0" prefWidth="69.0" xmlns="http://javafx.com/javafx/8.0.121"
xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.gazman.coco.desktop.controllers.PopupController">
<Button fx:id="select" layoutX="6.0" layoutY="2.0" mnemonicParsing="false" text="Button"/>
</AnchorPane>
解决方案
IOException
是一个已检查的异常,这意味着它必须以两种方式之一显式处理:
- 陷入语句的
catch
从句try-catch
- 通过可能发生异常的方法传播。这是通过添加
throws IOException
到方法签名的末尾来完成的。
这是为了迫使开发人员在合理预期外部故障的情况下处理 IO 和其他操作的典型故障。
推荐阅读
- angular5 - 如何使用反应式表单验证来验证文本框
- javascript - Javascript - 为循环内的多个 http 请求映射数据(并按属性分组)
- java - MusicPlayer 音乐重复“X”次
- javascript - 我们如何在不使用Script标签的情况下将我们的自定义APP代码(html代码)注入shopify产品页面
- reactjs - JEST - 如何使用同一 __test__ 文件夹中的实用程序管理不同的测试文件
- javascript - jQuery禁用多次点击
- javascript - 试图了解是否应该为道具提供默认的真实值
- ietf-netmod-yang - Yang - 实现依赖于订单的 CLI
- pandas - 将多个字典添加到单个 Dataframe 大熊猫中
- asp.net-core - 使用 RunProxy 和 OpenIdConnect 时的无限身份验证循环