Tankönyv JavaFX 8 - 5. rész tárolják az adatokat xml

Tankönyv JavaFX 8 - 5. rész tárolják az adatokat xml

  • Az adatok tárolása XML
  • A komponens JavaFX FileChooser
  • A komponens JavaFX Menü
  • Tárolása az utat az utoljára megnyitott fájl a felhasználói beállítások

Egyéni beállítások mentése

Hála az osztály a Preferences. Java lehetővé teszi, hogy tárolja néhány információt az állam a kérelmet. Attól függően, hogy az operációs rendszer, a kedvezmények különböző helyeken tárolt (például a Windows rendszerleíró fájlokat).

A következő két módszer fenntartsa és helyreállítsa a mi alkalmazás beállításait. Add, hogy a végén MainApp osztály:

MainApp.java

Az adatok tárolása XML

Miért XML?

Az egyik leggyakoribb módja az adatok tárolására, ez az adatbázisok használatának. Abban az időben, az adatokat tárolunk, objektumok, adatbázisok tartalmazzák azokat egy relációs adatbázis (például táblázatok). Ez az úgynevezett objektum-relációs impedancia eltérés. Annak érdekében, hogy a tárgy az adatok szerint a relációs táblák további munkát igényel. Vannak kereteket, amelyek segítenek abban, hogy az objektum adatok szerint a relációs adatbázis (Hibernate - az egyik legnépszerűbb), de kezdi el használni őket, akkor is kell, hogy több munkát és a beállítás.

Ehhez az egyszerű adatmodell sokkal könnyebb tárolni az adatokat, mint az XML. Ehhez fogjuk használni JAXB könyvtárat (J Ava A rchitechture X ML B inding). Megírása után néhány sornyi kódot, JAXB lehetővé teszi számunkra, hogy létrehoz nagyjából az XML-fájl:

Egy példa a generált XML-fájl

használata JAXB

JAXB könyvtár már benne van a JDK. Ez azt jelenti, hogy nincs szükség további könyvtárak nem kell bekötni.

JAXB biztosít két fő funkciója van: a képesség, hogy marshallirovaniyu Java objektumok XML és vissza demarshalizatsiyu XML-fájlt a Java objektumok.

Ahhoz, hogy a JAXB elláthatja ilyen átalakítás, fel kell készülni a modellt.

Előkészítő osztály modellek JAXB

Hozzon létre egy új osztályt csomag ch.makery.address.model PersonListWrapper.

PersonListWrapper.java

Figyeljük meg a két jelöléseket:

  • @XmlRootElement nevét adja meg a gyökér elem.
  • @XmlElement választható név, hogy mi lehet kérni egy elemet.

Az olvasás és írás adatokat JAXB

Tegyük mi osztály MainApp felelős adatok írása és olvasása az alkalmazás. Ehhez adjuk hozzá a végén az osztály MainApp.java két módszer:

Árurendezés és demarshalizatsiya kész. Most, hogy az új funkciók hozzunk létre menüpontok megtakarítás és berakodás.

Feldolgozás műveletmenüre

Létrehoztunk egy menü RootLayout.fxml fájlt. de még nem használta. Mielőtt hozzá Étlapunkon viselkedés hozzunk létre benne az összes szükséges elemeket.

A Scene Builder alkalmazást, nyissa meg a fájlt, és RootLayout.fxml át a szükséges számú menüpontok (MenuItem) a Library fülre a hierarchia fülre. Hozza létre a következő menüpontokat: New. Nyílt. . Mentése. Mentés. és Kilépés.

Tankönyv JavaFX 8 - 5. rész tárolják az adatokat xml

Tipp: A telepítés gyorsbillentyű menüpontok A gyorsító tulajdonságot a Tulajdonságok fülre.

osztály RootLayoutController

Retusálni menü viselkedés, szükségünk van egy másik csoportját vezérlő. A csomag megteremti ch.makery.address.view RootLayoutController osztályban.

RootLayoutController.java

komponens FileChooser

Ügyeljen arra, hogy a módszer az osztályban RootLayoutController. FileChooser komponenst alkalmazunk. Először létrehozunk egy új példányát az osztálynak FileChooser. Ezután a Speciális szűrő - fájlválasztási jelenik csak azokat, amelyek kiterjesztése .xml. Végül megjelenik a fenti komponenssel PrimaryStage.

Ha a felhasználó bezárja a fájlt párbeszéd semmi nincs kijelölve, akkor null értéket ad vissza. Egyébként mi lesz a kiválasztott fájlt, és adja oda a loadPersonDataFromFile módszerekkel (.) Or savePersonDataToFile (.). amelyek MainApp osztályban.

Binding FXML-prezentáció az osztályban vezérlő

A Scene Builder alkalmazást, nyissa meg a fájlt RootLayout.fxml. A Controller lapon, mint a vezérlő osztály, válassza RootLayoutController.

Kattintson a hierarchia lapot, és válassza ki a menüpontot. A Kód lap az ingatlan értékét, hogy On Action láthatjuk az összes rendelkezésre álló módszerek a kiválasztott osztály vezérlő. Válassza ki a megfelelő eljárást ez a menüpont.

Tankönyv JavaFX 8 - 5. rész tárolják az adatokat xml

Ismételjük meg az előző lépést a menüpontot.

Bezár Scene Builder alkalmazást, és frissíteni kell a projekt (nyomja meg a Frissítés (F5) gyökérkönyvtárába a projekt). Ez lehetővé teszi az Eclipse fejlesztői környezet „látni” a változások az alkalmazás Scene Builder.

a fő osztály kötődni osztály RootLayoutController

Nyissa meg a osztály és MainApp initRootLayout helyére () metódus a következő kód:

Ügyeljen arra, hogy a két változás: on-line, amely hozzáférést vezérlő a fő osztály a kérelmet, és az utolsó három sor betölteni az utoljára megnyitott fájlt a rekordokat.

tesztelés

Belül ch.makery.address.util csomag, hozzon létre egy új osztályt LocalDateAdapter és másolja az alábbi kódot:

LocalDateAdapter.java

Ezután nyissa Person.java osztály és jegyzetekkel getBirthday () módszer:

Most az alkalmazás futtatásához újra. Próbálja menteni és betölteni az xml-adatállományban. Az alkalmazás automatikusan betölti az utoljára megnyitott fájl újraindításakor.

Ez hogy működik

Lássuk, hogyan is működik együtt:

Mi a következő lépés?

A 6. része a bemutató, akkor adjunk hozzá egy statisztikai grafikon születésnapokra.

Ön is érdekelt más cikket

Kapcsolódó cikkek