如何将JavaFX中单选按钮的用户输入读入xml文件

时间:2016-07-21 12:40:48

标签: java xml javafx javafx-8

我在JavaFX中申请销售互联网软件包,看起来像这样。 enter image description here

因此,当用户单击“保存”按钮时,此应用程序将所有数据保存在XML文件中,因此我进行了编组

@FXML
private void saveInternetPaketxml() throws JAXBException{
    if(internetPaket.isValid()){

        ObjectFactory objectFactory = new ObjectFactory();
        internetPaket.InternetPaket internetPaket = objectFactory.createInternetPaket();

        internetPaket.setFirstName(firstName.getText());
        internetPaket.setLastName(lastName.getText());
        internetPaket.setAddress(address.getText());
        internetPaket.setBrzina(brzina.getSelectedToggle().toString());
        internetPaket.setProtok(protok.getSelectedToggle().toString());
        internetPaket.setTrajanjeUgovora(trajanjeUgovora.getToggles().toString());

        JAXBContext jaxbc =JAXBContext.newInstance("internetPaket");
        Marshaller marshaller = jaxbc.createMarshaller();
        marshaller.marshal(internetPaket, new File("out.xml"));

但我在XML文件中的输出如下所示 enter image description here

我需要它看起来像这样:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<internetPaket>
    <firstName>john</firstName>
    <lastName>mayers</lastName>
    <address>ddd</address>
    <brzina>5Mbt</brzina>
    <protok>10GB</protok>
    <trajanjeUgovora>1 Godina</trajanjeUgovora>
</internetPaket>

我需要帮助,因为我对此很新。我不知道写什么而不是这个:

internetPaket.setBrzina(brzina.getSelectedToggle().toString());
        internetPaket.setProtok(protok.getSelectedToggle().toString());
        internetPaket.setTrajanjeUgovora(trajanjeUgovora.getToggles().toString());

从我的单选按钮和切换按钮右输出我还需要建议如何在我的XML文件中保留每个“销售”,因为现在每次我插入新用户时他的数据只是在XML文件中?谢谢。

1 个答案:

答案 0 :(得分:0)

getSelectedToggle返回切换单选按钮的实例。不要打电话给Glide.with(mContext).load(ImageUrl).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(imageView); !请改为拨打toString,然后再去。

旁注:

1)你总是想用英文命名变量,类和方法。

2)我没有看到在“Izaberi trajanje ugovora”中使用getText的意义。你也可以在那里使用ToggleButton's