控制器出现javafx.fxml.LoadException问题
我有个问题。我遇到了这样一个令人不快的例外。我也为管理员做了同样的事情,但在那里一切都正常,但在这里不行 javafx.fxml.LoadException:/C:/Users/Vlad/Desktop/%d0%9a%d1%83%d1%80%d1%81%d0%be%d0%b2%d0%b0%d1%8f%20%d1%80%d0%b0%d0%be%d1%82%d0%b0/Client/target/classes/Client menu/customerUserMenu.fxml控制器出现javafx.fxml.LoadException问题,javafx,fxml,Javafx,Fxml,我有个问题。我遇到了这样一个令人不快的例外。我也为管理员做了同样的事情,但在那里一切都正常,但在这里不行 javafx.fxml.LoadException:/C:/Users/Vlad/Desktop/%d0%9a%d1%83%d1%80%d1%81%d0%be%d0%b2%d0%b0%d1%8f%20%d1%80%d0%b0%d0%be%d1%82%d0%b0/Client/target/classes/Client menu/customerUserMenu.fxml at javafx.
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2571)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409)
at by.bsuir.bank.controller.Controller.lambda$initialize$7(Controller.java:194)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8411)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at java.lang.Thread.run(Thread.java:748)
<?xml version="1.0" encoding="UTF-8"?>
<AnchorPane fx:id="anchorPane" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="by.bsuir.bank.controller.clientMenu.ClientMenuController">
<children>
<StackPane fx:id="stackPane" prefHeight="700.0" prefWidth="1000.0">
<children>
<AnchorPane prefHeight="700.0" prefWidth="1000.0" style="-fx-background-color: #3D4956;">
<children>
<FontAwesomeIcon fx:id="backButton" fill="WHITE" iconName="ARROW_LEFT" layoutX="36.0" layoutY="70.0" size="4em" wrappingWidth="62.85714340209961" />
<FontAwesomeIcon fx:id="exit" fill="#00f50c" iconName="CLOSE" layoutX="943.0" layoutY="69.0" size="3em" />
<JFXTabPane layoutX="38.0" layoutY="87.0" prefHeight="591.0" prefWidth="934.0">
<tabs>
<Tab text="Личный кабинет">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" style="-fx-background-color: white;">
<children>
<JFXTextField fx:id="clientSecondName" focusColor="BLACK" layoutX="277.0" layoutY="36.0" prefHeight="26.0" prefWidth="229.0" unFocusColor="BLACK" />
<JFXTextField fx:id="clientFirstName" focusColor="BLACK" layoutX="276.0" layoutY="85.0" prefHeight="26.0" prefWidth="232.0" unFocusColor="BLACK" />
<JFXTextField fx:id="clientAddress" focusColor="BLACK" layoutX="276.0" layoutY="237.0" prefHeight="26.0" prefWidth="234.0" unFocusColor="BLACK" />
<JFXTextField fx:id="clientPhoneNumber" focusColor="BLACK" layoutX="274.0" layoutY="186.0" prefHeight="26.0" prefWidth="234.0" unFocusColor="BLACK" />
<JFXTextField fx:id="clientLastName" focusColor="BLACK" layoutX="277.0" layoutY="134.0" prefHeight="26.0" prefWidth="232.0" unFocusColor="BLACK" />
<JFXTextField fx:id="clientPassword" focusColor="BLACK" layoutX="275.0" layoutY="338.0" prefHeight="26.0" prefWidth="234.0" unFocusColor="BLACK" />
<JFXComboBox fx:id="clientClientType" focusColor="BLACK" layoutX="275.0" layoutY="392.0" prefHeight="26.0" prefWidth="235.0" unFocusColor="BLACK" />
<JFXPasswordField fx:id="clientUsername" focusColor="BLACK" layoutX="276.0" layoutY="285.0" prefHeight="26.0" prefWidth="234.0" unFocusColor="BLACK" />
<Label layoutX="208.0" layoutY="49.0" text="Фамилия" />
<Label layoutX="228.0" layoutY="98.0" text="Имя" />
<Label layoutX="207.0" layoutY="147.0" text="Отчество" />
<Label layoutX="153.0" layoutY="199.0" text="Номер телефона" />
<Label layoutX="224.0" layoutY="250.0" text="Адрес" />
<Label layoutX="223.0" layoutY="298.0" text="Логин" />
<Label layoutX="214.0" layoutY="342.0" text="Пароль" />
<Label layoutX="220.0" layoutY="409.0" text="Лицо" />
<JFXButton fx:id="saveClientButton" layoutX="704.0" layoutY="381.0" prefHeight="48.0" prefWidth="105.0" style="-fx-background-color: green;" text="Сохранить" />
<JFXDatePicker fx:id="clientBirthday" defaultColor="BLACK" layoutX="341.0" layoutY="456.0" />
<Label layoutX="233.0" layoutY="470.0" text="Дата рождения" />
<Label layoutX="576.0" layoutY="49.0" text="Сумма на счёте:" />
<Label fx:id="moneyLabel" layoutX="692.0" layoutY="49.0" prefHeight="18.0" prefWidth="140.0" text="0" />
</children>
</AnchorPane>
</content>
</Tab>
<Tab text="Мои вклады">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="556.0" prefWidth="809.0">
<children>
<JFXTreeTableView fx:id="myDepositeTable" layoutY="-1.0" prefHeight="501.0" prefWidth="934.0">
<columns>
<TreeTableColumn fx:id="depositeCol" prefWidth="286.39996945858" text="Вклад" />
<TreeTableColumn fx:id="startSumCol" prefWidth="213.5999755859375" text="Начальная сумма" />
<TreeTableColumn fx:id="depositeStartDateCol" prefWidth="209.60006713867188" text="Дата вклада" />
<TreeTableColumn fx:id="profitCol" prefWidth="224.7999267578125" text="Прибыль" />
</columns>
</JFXTreeTableView>
<AnchorPane layoutY="500.0" prefHeight="58.0" prefWidth="934.0" style="-fx-background-color: #00BFFF;">
<children>
<JFXButton fx:id="takeMoneyButton" layoutX="48.0" layoutY="11.0" prefHeight="36.0" prefWidth="132.0" style="-fx-background-color: white;" text="Забрать средства">
<font>
<Font name="System Bold" size="13.0" />
</font>
</JFXButton>
<JFXButton fx:id="refillButton" layoutX="506.0" layoutY="11.0" prefHeight="36.0" prefWidth="132.0" style="-fx-background-color: white;" text="Пополнить">
<font>
<Font name="System Bold" size="13.0" />
</font>
</JFXButton>
<JFXButton fx:id="fullInfoButton" layoutX="758.0" layoutY="11.0" prefHeight="36.0" prefWidth="132.0" style="-fx-background-color: white;" text="Подробно">
<font>
<Font name="System Bold" size="13.0" />
</font>
</JFXButton>
<JFXButton fx:id="partialWithdrawalButton" layoutX="277.0" layoutY="11.0" prefHeight="36.0" prefWidth="138.0" style="-fx-background-color: white;" text="Снять часть">
<font>
<Font name="System Bold" size="13.0" />
</font>
</JFXButton>
</children>
</AnchorPane>
</children>
</AnchorPane>
</content>
</Tab>
<Tab text="Доступные вклады">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<JFXTreeTableView fx:id="depositeTypeTable" prefHeight="486.0" prefWidth="934.0">
<columns>
<TreeTableColumn fx:id="depositeTypeClientTypeCol" prefWidth="127.20007020235062" text="Тип вклада" />
<TreeTableColumn fx:id="depositeTypeView" prefWidth="112.8001708984375" text="Вид вклада" />
<TreeTableColumn fx:id="depositeTypeName" prefWidth="112.80006408691406" text="Наименование" />
<TreeTableColumn fx:id="depositeTypeMinSum" prefWidth="73.60009765625" text="Мин. сумма" />
<TreeTableColumn fx:id="depositeTypepercent" prefWidth="44.800048828125" text="\%" />
<TreeTableColumn fx:id="depositeTypeMonths" prefWidth="60.800048828125" text="Месяцы" />
<TreeTableColumn fx:id="depositeTypeeCapitalization" prefWidth="68.7998046875" text="Капитализация" />
<TreeTableColumn fx:id="depositeTypereFill" prefWidth="78.39990234375" text="Пополнение" />
<TreeTableColumn fx:id="depositeTypeEarlyRecall" prefWidth="75.0" text="Досрочное снятие" />
<TreeTableColumn fx:id="depositeTypePartialWithdrawal" prefWidth="173.60009765625" text="Частичное снятие" />
</columns>
</JFXTreeTableView>
<AnchorPane layoutY="485.0" prefHeight="71.0" prefWidth="934.0" style="-fx-background-color: #00BFFF;">
<children>
<JFXButton fx:id="addDepositeButton" layoutX="393.0" layoutY="13.0" prefHeight="48.0" prefWidth="150.0" style="-fx-background-color: white;" text="Оформить" />
</children></AnchorPane>
</children>
</AnchorPane>
</content>
</Tab>
</tabs>
</JFXTabPane>
</children>
</AnchorPane>
</children></StackPane>
</children>
</AnchorPane>
БöτCustomerUserMenu.fxml
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2571)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409)
at by.bsuir.bank.controller.Controller.lambda$initialize$7(Controller.java:194)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8411)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at java.lang.Thread.run(Thread.java:748)
<?xml version="1.0" encoding="UTF-8"?>
<AnchorPane fx:id="anchorPane" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="by.bsuir.bank.controller.clientMenu.ClientMenuController">
<children>
<StackPane fx:id="stackPane" prefHeight="700.0" prefWidth="1000.0">
<children>
<AnchorPane prefHeight="700.0" prefWidth="1000.0" style="-fx-background-color: #3D4956;">
<children>
<FontAwesomeIcon fx:id="backButton" fill="WHITE" iconName="ARROW_LEFT" layoutX="36.0" layoutY="70.0" size="4em" wrappingWidth="62.85714340209961" />
<FontAwesomeIcon fx:id="exit" fill="#00f50c" iconName="CLOSE" layoutX="943.0" layoutY="69.0" size="3em" />
<JFXTabPane layoutX="38.0" layoutY="87.0" prefHeight="591.0" prefWidth="934.0">
<tabs>
<Tab text="Личный кабинет">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" style="-fx-background-color: white;">
<children>
<JFXTextField fx:id="clientSecondName" focusColor="BLACK" layoutX="277.0" layoutY="36.0" prefHeight="26.0" prefWidth="229.0" unFocusColor="BLACK" />
<JFXTextField fx:id="clientFirstName" focusColor="BLACK" layoutX="276.0" layoutY="85.0" prefHeight="26.0" prefWidth="232.0" unFocusColor="BLACK" />
<JFXTextField fx:id="clientAddress" focusColor="BLACK" layoutX="276.0" layoutY="237.0" prefHeight="26.0" prefWidth="234.0" unFocusColor="BLACK" />
<JFXTextField fx:id="clientPhoneNumber" focusColor="BLACK" layoutX="274.0" layoutY="186.0" prefHeight="26.0" prefWidth="234.0" unFocusColor="BLACK" />
<JFXTextField fx:id="clientLastName" focusColor="BLACK" layoutX="277.0" layoutY="134.0" prefHeight="26.0" prefWidth="232.0" unFocusColor="BLACK" />
<JFXTextField fx:id="clientPassword" focusColor="BLACK" layoutX="275.0" layoutY="338.0" prefHeight="26.0" prefWidth="234.0" unFocusColor="BLACK" />
<JFXComboBox fx:id="clientClientType" focusColor="BLACK" layoutX="275.0" layoutY="392.0" prefHeight="26.0" prefWidth="235.0" unFocusColor="BLACK" />
<JFXPasswordField fx:id="clientUsername" focusColor="BLACK" layoutX="276.0" layoutY="285.0" prefHeight="26.0" prefWidth="234.0" unFocusColor="BLACK" />
<Label layoutX="208.0" layoutY="49.0" text="Фамилия" />
<Label layoutX="228.0" layoutY="98.0" text="Имя" />
<Label layoutX="207.0" layoutY="147.0" text="Отчество" />
<Label layoutX="153.0" layoutY="199.0" text="Номер телефона" />
<Label layoutX="224.0" layoutY="250.0" text="Адрес" />
<Label layoutX="223.0" layoutY="298.0" text="Логин" />
<Label layoutX="214.0" layoutY="342.0" text="Пароль" />
<Label layoutX="220.0" layoutY="409.0" text="Лицо" />
<JFXButton fx:id="saveClientButton" layoutX="704.0" layoutY="381.0" prefHeight="48.0" prefWidth="105.0" style="-fx-background-color: green;" text="Сохранить" />
<JFXDatePicker fx:id="clientBirthday" defaultColor="BLACK" layoutX="341.0" layoutY="456.0" />
<Label layoutX="233.0" layoutY="470.0" text="Дата рождения" />
<Label layoutX="576.0" layoutY="49.0" text="Сумма на счёте:" />
<Label fx:id="moneyLabel" layoutX="692.0" layoutY="49.0" prefHeight="18.0" prefWidth="140.0" text="0" />
</children>
</AnchorPane>
</content>
</Tab>
<Tab text="Мои вклады">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="556.0" prefWidth="809.0">
<children>
<JFXTreeTableView fx:id="myDepositeTable" layoutY="-1.0" prefHeight="501.0" prefWidth="934.0">
<columns>
<TreeTableColumn fx:id="depositeCol" prefWidth="286.39996945858" text="Вклад" />
<TreeTableColumn fx:id="startSumCol" prefWidth="213.5999755859375" text="Начальная сумма" />
<TreeTableColumn fx:id="depositeStartDateCol" prefWidth="209.60006713867188" text="Дата вклада" />
<TreeTableColumn fx:id="profitCol" prefWidth="224.7999267578125" text="Прибыль" />
</columns>
</JFXTreeTableView>
<AnchorPane layoutY="500.0" prefHeight="58.0" prefWidth="934.0" style="-fx-background-color: #00BFFF;">
<children>
<JFXButton fx:id="takeMoneyButton" layoutX="48.0" layoutY="11.0" prefHeight="36.0" prefWidth="132.0" style="-fx-background-color: white;" text="Забрать средства">
<font>
<Font name="System Bold" size="13.0" />
</font>
</JFXButton>
<JFXButton fx:id="refillButton" layoutX="506.0" layoutY="11.0" prefHeight="36.0" prefWidth="132.0" style="-fx-background-color: white;" text="Пополнить">
<font>
<Font name="System Bold" size="13.0" />
</font>
</JFXButton>
<JFXButton fx:id="fullInfoButton" layoutX="758.0" layoutY="11.0" prefHeight="36.0" prefWidth="132.0" style="-fx-background-color: white;" text="Подробно">
<font>
<Font name="System Bold" size="13.0" />
</font>
</JFXButton>
<JFXButton fx:id="partialWithdrawalButton" layoutX="277.0" layoutY="11.0" prefHeight="36.0" prefWidth="138.0" style="-fx-background-color: white;" text="Снять часть">
<font>
<Font name="System Bold" size="13.0" />
</font>
</JFXButton>
</children>
</AnchorPane>
</children>
</AnchorPane>
</content>
</Tab>
<Tab text="Доступные вклады">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<JFXTreeTableView fx:id="depositeTypeTable" prefHeight="486.0" prefWidth="934.0">
<columns>
<TreeTableColumn fx:id="depositeTypeClientTypeCol" prefWidth="127.20007020235062" text="Тип вклада" />
<TreeTableColumn fx:id="depositeTypeView" prefWidth="112.8001708984375" text="Вид вклада" />
<TreeTableColumn fx:id="depositeTypeName" prefWidth="112.80006408691406" text="Наименование" />
<TreeTableColumn fx:id="depositeTypeMinSum" prefWidth="73.60009765625" text="Мин. сумма" />
<TreeTableColumn fx:id="depositeTypepercent" prefWidth="44.800048828125" text="\%" />
<TreeTableColumn fx:id="depositeTypeMonths" prefWidth="60.800048828125" text="Месяцы" />
<TreeTableColumn fx:id="depositeTypeeCapitalization" prefWidth="68.7998046875" text="Капитализация" />
<TreeTableColumn fx:id="depositeTypereFill" prefWidth="78.39990234375" text="Пополнение" />
<TreeTableColumn fx:id="depositeTypeEarlyRecall" prefWidth="75.0" text="Досрочное снятие" />
<TreeTableColumn fx:id="depositeTypePartialWithdrawal" prefWidth="173.60009765625" text="Частичное снятие" />
</columns>
</JFXTreeTableView>
<AnchorPane layoutY="485.0" prefHeight="71.0" prefWidth="934.0" style="-fx-background-color: #00BFFF;">
<children>
<JFXButton fx:id="addDepositeButton" layoutX="393.0" layoutY="13.0" prefHeight="48.0" prefWidth="150.0" style="-fx-background-color: white;" text="Оформить" />
</children></AnchorPane>
</children>
</AnchorPane>
</content>
</Tab>
</tabs>
</JFXTabPane>
</children>
</AnchorPane>
</children></StackPane>
</children>
</AnchorPane>
这个客户菜单控制器
公共类ClientMenuController{
私有静态客户端选择客户端
Gson gson = new Gson();
@FXML
private AnchorPane anchorPane;
@FXML
private Label moneyLabel;
@FXML
private Text mainLabel;
@FXML
private FontAwesomeIcon exit;
@FXML
private FontAwesomeIcon backButton;
@FXML
private StackPane stackPane;
@FXML
private JFXTreeTableView<DepositeType> depositeTypeTable;
@FXML
private TreeTableColumn<DepositeType, String> depositeTypeClientTypeCol;
@FXML
private TreeTableColumn<DepositeType, String> depositeTypeView;
@FXML
private TreeTableColumn<DepositeType, String> depositeTypeName;
@FXML
private TreeTableColumn<DepositeType, String> depositeTypeMinSum;
@FXML
private TreeTableColumn<DepositeType, String> depositeTypepercent;
@FXML
private TreeTableColumn<DepositeType, String> depositeTypeMonths;
@FXML
private TreeTableColumn<DepositeType, String> depositeTypeeCapitalization;
@FXML
private TreeTableColumn<DepositeType, String> depositeTypereFill;
@FXML
private TreeTableColumn<DepositeType, String> depositeTypeEarlyRecall;
@FXML
private TreeTableColumn<DepositeType, String> depositeTypePartialWithdrawal;
@FXML
private JFXTextField clientSecondName;
@FXML
private JFXTextField clientFirstName;
@FXML
private JFXTextField clientAddress;
@FXML
private JFXTextField clientPhoneNumber;
@FXML
private JFXTextField clientLastName;
@FXML
private JFXTextField clientPassword;
@FXML
private JFXComboBox<String> clientClientType;
@FXML
private JFXPasswordField clientUsername;
@FXML
private JFXButton saveClientButton;
@FXML
private JFXDatePicker clientBirthday;
@FXML
private JFXTreeTableView<Deposite> myDepositeTable;
@FXML
private TreeTableColumn<Deposite, String > depositeCol;
@FXML
private TreeTableColumn<Deposite, String> startSumCol;
@FXML
private TreeTableColumn<Deposite, String> depositeStartDateCol;
@FXML
private TreeTableColumn<Deposite, String> profitCol;
@FXML
private JFXButton fullInfoButton;
@FXML
private JFXButton refillButton;
@FXML
private JFXButton partialWithdrawalButton;
private ObservableList<DepositeType> depositeTypes = FXCollections.observableArrayList();
private ObservableList<Deposite> deposites = FXCollections.observableArrayList();
//private ObservableList<Visit> freeVisits = FXCollections.observableArrayList();
private ObservableList<Branch> branches = FXCollections.observableArrayList();
private ObservableList<String> specializations = FXCollections.observableArrayList();
@FXML
private JFXButton addDepositeButton;
@FXML
private JFXButton takeMoneyButton;
@FXML
public AnchorPane getAnchorPane() {
return anchorPane;
}
@FXML
public void setDisable(boolean disable) {
anchorPane.setDisable(disable);
}
public static void setCurrentClient(Client client) {
ClientMenuController.selectClient = client;
}
public void setData() {
moneyLabel.setText(String.valueOf(selectClient.getMoney()/100)+"."+String.valueOf(selectClient.getMoney()%100));
clientSecondName.setText(selectClient.getSecondName());
clientFirstName.setText(selectClient.getFirstName());
clientAddress.setText(selectClient.getAddress());
clientPhoneNumber.setText(selectClient.getPhoneNumber());
clientLastName.setText(selectClient.getLastName());
clientPassword.setText(selectClient.getPassword());
clientClientType.setValue(selectClient.getClientType());
clientUsername.setText(selectClient.getUsername());
clientBirthday.setValue(selectClient.getBirthday());
}
@FXML
void createDialog(String message)
{
JFXDialogLayout dialogLayout = new JFXDialogLayout();
JFXButton button = new JFXButton("OK");
JFXDialog dialog = new JFXDialog(stackPane,dialogLayout,JFXDialog.DialogTransition.TOP);
button.setOnAction(event1 -> dialog.close());
dialogLayout.setBody(new Text(message));
dialogLayout.setActions(button);
dialog.setTranslateX(-10);
dialog.setMaxWidth(365);
dialog.show();
}
@FXML
public void updateDeposites() {
int i;
LocalDate dateBuf;
deposites.clear();
List<Deposite> depositeList;
Packet packet = new Packet();
packet.setCommand("getDeposites");
String response = NetClientThread.sendPacket(gson.toJson(packet));
packet = gson.fromJson(response,Packet.class);
Type itemsListType = new TypeToken<List<Deposite>>() {}.getType();
depositeList = gson.fromJson(packet.getData(),itemsListType);
for(Deposite deposite:depositeList) {
i = 0;
int buf = 0;
if(deposite.getUser().equals(selectClient))
{
dateBuf = LocalDate.of(deposite.getDateStart().getYear(), deposite.getDateStart().getMonth(), deposite.getDateStart().getDayOfMonth());
System.out.println(LocalDate.now().compareTo(dateBuf.plusMonths(1)));
buf = LocalDate.now().compareTo(dateBuf.plusMonths(1));
if (buf > 0) {
for(int j = 0; j<buf; j++) {
deposite.setProfit(deposite.getProfit() + new Double((deposite.getSum() + deposite.getProfit()) * (deposite.getDepositetype().getPercent() / 1200)).longValue());
deposite.setDateLastRecall(deposite.getDateLastRecall().plusMonths(1));
}
}
}
deposites.add(deposite);
}
}
public void updateData() {
depositeTypes.clear();
List<DepositeType> depositeTypeList;
Packet packet = new Packet();
packet.setCommand("getDepositeTypeList");
String response = NetClientThread.sendPacket(gson.toJson(packet));
packet = gson.fromJson(response,Packet.class);
Type itemsListType = new TypeToken<List<DepositeType>>() {}.getType();
depositeTypeList = gson.fromJson(packet.getData(),itemsListType);
for(DepositeType depositeType:depositeTypeList) {
if(depositeType.getClientType().equals("Всё"))
{
depositeTypes.add(depositeType);
}
if(depositeType.getClientType().equals(selectClient.getClientType())) {
depositeTypeList.add(depositeType);
}
}
}
@FXML
void initialize() {
clientClientType.getItems().add(String.valueOf("Индивидуальный предприниматель"));
clientClientType.getItems().add(String.valueOf("Физическое лицо"));
clientClientType.getItems().add(String.valueOf("Юридическое лицо"));
updateData();
updateDeposites();
setData();
exit.setOnMouseClicked(event -> System.exit(-1));
backButton.setOnMouseClicked(event -> {
Parent root = null;
try {
root = FXMLLoader.load(getClass().getResource("/authorization/authorisation.fxml"));
} catch (IOException e) {
e.printStackTrace();
}
Main.setNewScene(root,1);
});
fullInfoButton.setOnAction(event -> {
Deposite depositeBuf = myDepositeTable.getSelectionModel().getSelectedItem().getValue();
try {
Parent root;
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/client-menu/info-deposite-menu/InfoDeposite.fxml"));
root = fxmlLoader.load();
Main.setNewScene(root,1);
InfoDepositeController.getInstance().setFields(depositeBuf);
} catch (IOException e) {
e.printStackTrace();
}
});
partialWithdrawalButton.setOnAction(event -> {
Deposite depositeBuf = myDepositeTable.getSelectionModel().getSelectedItem().getValue();
try {
Parent root;
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/client-menu/take-part-money-menu/takePartMoney.fxml"));
root = fxmlLoader.load();
Main.setNewScene(root,1);
// AddDepositeController controller = fxmlLoader.<AddDepositeController>getController();
TakePartMoneyController.getInstance().setFields(depositeBuf, selectClient);
} catch (IOException e) {
e.printStackTrace();
}
});
addDepositeButton.setOnAction(event -> {
DepositeType depositeTypeBuf = depositeTypeTable.getSelectionModel().getSelectedItem().getValue();
try {
Parent root;
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/client-menu/add-deposite-menu/addDeposite.fxml"));
root = fxmlLoader.load();
Main.setNewScene(root,1);
// AddDepositeController controller = fxmlLoader.<AddDepositeController>getController();
AddDepositeController.getInstance().setFields(depositeTypeBuf, selectClient);
} catch (IOException e) {
e.printStackTrace();
}
});
takeMoneyButton.setOnAction(event -> {
Deposite depositeBuf = myDepositeTable.getSelectionModel().getSelectedItem().getValue();
try {
Parent root;
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/client-menu/take-profit-menu/takeProfit.fxml"));
root = fxmlLoader.load();
Main.setNewScene(root,1);
// AddDepositeController controller = fxmlLoader.<AddDepositeController>getController();
takeProfitController.getInstance().setFields(depositeBuf, selectClient);
} catch (IOException e) {
e.printStackTrace();
}
});
refillButton.setOnAction(event -> {
Deposite depositeBuf = myDepositeTable.getSelectionModel().getSelectedItem().getValue();
try {
Parent root;
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/client-menu/refill-deposite-menu/refillDeposite.fxml"));
root = fxmlLoader.load();
Main.setNewScene(root,1);
// AddDepositeController controller = fxmlLoader.<AddDepositeController>getController();
RefillDepositeController.getInstance().setFields(depositeBuf, selectClient);
} catch (IOException e) {
e.printStackTrace();
}
});
SimpleDateFormat formatForDateNow = new SimpleDateFormat("E yyyy.MM.dd hh:mm");
saveClientButton.setOnAction(event -> {
if (clientPhoneNumber.getText().length() == 0 || clientUsername.getText().length() < 5 || clientPassword.getText().length() < 8 || clientFirstName.getText().length() == 0 || clientSecondName.getText().length() == 0 || clientLastName.getText().length() == 0 || clientClientType.getSelectionModel().isEmpty() || clientBirthday.getValue() == null || clientAddress.getText().length() == 0) {
return;
}
Client client = new Client(selectClient.getId(), clientUsername.getText(), clientPassword.getText(), clientFirstName.getText(),
clientSecondName.getText(), clientLastName.getText(), clientBirthday.getValue(),
clientClientType.getSelectionModel().getSelectedItem(), clientPhoneNumber.getText(), clientAddress.getText());
Packet packet = new Packet();
packet.setCommand("editClient");
packet.setData(gson.toJson(client));
String response = NetClientThread.sendPacket(gson.toJson(packet));
packet = gson.fromJson(response,Packet.class);
boolean value = gson.fromJson(packet.getData(),Boolean.class);
if(value) {
createDialog("Изменения прошли успешно!");
}
else{
createDialog("Неудача, логин занят!");
}
});
}
Gson-Gson=new-Gson();
@FXML
私人锚烷锚烷;
@FXML
自有品牌moneyLabel;
@FXML
专用文本标签;
@FXML
私人FontAwesomeIcon出口;
@FXML
私人FontAwesomeIcon backButton;
@FXML
私有堆栈窗格堆栈窗格;
@FXML
私有JFXTreeTableView depositeTypeTable;
@FXML
私有TreeTableColumn存储peclienttypecol;
@FXML
私有TreeTableColumn depositeTypeView;
@FXML
私有TreeTableColumn depositeTypeName;
@FXML
私有树状柱状沉积物;
@FXML
私有树状柱状沉积物百分比;
@FXML
私人TreeTableColumn存款每月;
@FXML
私有TreeTableColumn存款;资本化;
@FXML
私有TreeTableColumn DepositeyPerefill;
@FXML
私有TreeTableColumn DepositeTypearlyRecall;
@FXML
私人TreeTableColumn存款私人提款;
@FXML
私有JFXTextField客户端SecondName;
@FXML
私有JFXTextField clientFirstName;
@FXML
私有JFXTextField客户端地址;
@FXML
私有JFXTextField客户端电话号码;
@FXML
私有JFXTextField clientLastName;
@FXML
私有JFXTextField客户端密码;
@FXML
私有JFXComboBox客户端类型;
@FXML
私有JFXPasswordField客户端用户名;
@FXML
私有JFXButton saveClientButton;
@FXML
私人JFXDatePicker客户端生日;
@FXML
私有JFXTreeTableView myDepositeTable;
@FXML
私人树状柱状储存器;
@FXML
私有树柱startSumCol;
@FXML
私人TreetableColumnDepositeStartDateCol;
@FXML
私有树型柱形profitCol;
@FXML
私有JFXButton fullInfoButton;
@FXML
专用JFXButton重新填充按钮;
@FXML
专用JFXButton部分取款按钮;
私人观察者d