Kurssin Java FX:ään liittyviä JAR-tiedostoja
- FXGui.jar - komponentteja helpottamaan valintoja ja uusia ikkunoita
- FXMLPackage - komponentti helpottamaan JavaFX-projektin luomista
1. FXGui.jar
JavaFX:n valmiisiin komponentteihin ei saa SceneBuilderillä
helposti "aidon" näköistä dataa suunnitteluaikana. FXGui.jar on tehty helpottamaan tätä vaihetta. Kaikki komponentit eivät vielä ole samalla tasolla kuin aikanaan vastaavat Swing-komponentit ja siksi komponentit ovat vain "paikan varaajia" suunnitteluaikana ja myöhemmässä vaiheessa ne vaihdetaan koodissa vastaaviin JavaFX komponentteihin ks. malliharjoitustyö, vaihe 5.
1.1 Asennus
1.2 Käyttö
Chooser
- rajapinta, jonka kaikki Chooserit toteuttavat. Yhtenäistää komponenttien toimintaa. Ks. ChooserMultipleChooser
- rajapinta, jonka osa komponenteista toteuttaa. Tämän avulla saa tietoa monesta samanaikaisesta valinnasta.CheckBoxChooser
- joukko valintaruutuja (CheckBox
) alekkainComboBoxChooser
- alasvetovalinta johon saarivit
-omaisuudella tietojaDialogs
- aliohjelmia helpottamaan yksinkertaisten dialogien luomista. Ks. DialogsFunctions
- joukko apufunktioitaListChooser
- lista johon saarivit
-omaisuudella tietojaModalController
- luokka helpottamaan modaalisten dialogien luomista, ks DialogsModalControllerInterface
- rajapinta helpottamaan modaalisten dialogien luomista, ks DialogsRadioButtonChooser
- joukkoRadioButtoneita
jotka voi luoda antamalla sisällönrivit
-ominaisuuteenScrollBorder
- pohjakomponentti, jossa on kehys, yksi teksti ja ScrollPane jonka sisään voi laittaa jonkin komponentin- StringGrid - 2-ulotteinen merkkijonotaulukko, johon voi laittaa tietoja
rivit
-omaisuudella erottamalla sarakkeet tolpilla. TextAreaOutputStream
- tietovirta jolla voi tulostaa tekstialueeseenTextAreaWriter
- tietovirta jolla voi tulostaa tekstialueeseen
Tarvitsisin tuota MultipleChooser-rajapintaa, mutta ei näytä tulevan (ainakaan minulla) tuon FXGui.jar mukana. Mistäköhän johtuu?
VL: Kyllä pitäisi olla, koska tuon mukaan: https://kurssit.it.jyu.fi/TIEP111/ohj2/FXExamples/MultipleChooser_8java_source.html on siellä ja kun avaan vaikka 7zip:llä tuon .jar tiedoston niin tuo löytyy.
—1.3 Päivitetyjen versioiden vaatimat muutokset vanhaan koodiin
Luokkia on alettu päivittämään käyttökelpoisemmiksi versioiksi.
Lähinnä tämä tarkoittaa sitä, että komponentteihin voi liittää tiedon siitä, mitä oliota mikäkin rivi vastaa. Tämän seurauksena vanhaa versiota käyttäviin ohjelmiin voi tulla virheilmoituksia tyyliin:
Description Resource Path Location Type StringGrid is a raw type.
References to generic type StringGrid<TYPE> should be parameterized
KerhoGUIController.java /trunk/src/fxKerho line 58 Java Problem
Korjaus tehdään muuttamalla vastaavat rivit
@FXML private StringGrid tableHarrastukset;
alustavasti muotoon (voi tehdä korjausehdotuksista valitsemalla Add type arguments to StringGrid
):
@FXML private StringGrid<?> tableHarrastukset;
Myöhemmin tuon ?
tilalle voidaan kirjoittaa vaikkapa
@FXML private StringGrid<Harrastus> tableHarrastukset;
1.4 Kehitysprojekti
Voit osallistua komponenttien kehittämiseen, saat niistä kovasti demopisteitä.
2. FXMLPackage.jar
FXMLPackage
on plugin FXML
-ohjelmassa tarvittavien tiedostojen tuottamiseksi. Eclipsen e(fx)clipse-lisäosan avulla voi luoda uuden JavaFX-projektin. Mutta mikäli haluaa luoda uuden JavaFX-ohjelman olemassa olevan projektin alle, joutuu turhaan kikkailemaan. Tässä FXMLPackage
tulee avuksi.
IntelliJ IDEAa asennus IDEAn ohjeilla. Eclipseen alla olevilla ohjeilla.
2.1 Asennus Eclipseen
Tallenna FXMLpackage.jar Eclipsen dropins kansioon
, esim:
Win: c:\devel\ec2409\eclipse\dropins
Mac: /Applications/Eclipse.app/Contents/Eclipse/dropins
Linux: /home/Anonymous/devel/ec2409/Eclipse/dropins
- Mene Safarissa linkin päälle ja paina kahdella sormalle
- Ota
Lataa linkitetty tiedosto
- Avaa kaksi Finder ikkunaan vierekkäin
- Toiseen lataukset
- Toiseen tuo Eclipse ja sen kohdalla kahdella sormella
Näytä pakkauksen sisältö
- Jatka
dropins
-kansioon saakka - Raahaa
Lataukset
-ikkunastadropins
-kansioon - Käynnistä uudelleen Eclipse.
Mikroluokassa tuo pitää laittaa hakemistoon
c:\Users\Anonymous\dropins
ja sitten muistaa käynnistää Eclipse komentoriviltä komennolla ee2012
(tämä siis VAIN mikroluokassa).
2.2 Käyttö
Mikäli haluat luoda uuden JavaFX-projektin, voit tehdä sen toki normaaleilla ohjeilla, mutta helpommalla pääset niin, että luot ensin New/Java Project
ja sitten jatkat alla olevilla ohjeilla.
Kun haluat luoda uuden JavaFX-ohjelman olemassa olevan projektin alle, niin tee seuraavasti:
Moi, JavaFX Package ei ilmesty eclipseen vaikka oon laittanut oikean java FXMLpackage.jar tiedoston dropins kansioon. Katsottiin tätä ohjauksessa niin eclipse kansiossa ecplipse.ini tiedosto on vähän erilainen ohjaajan vastaavassa tiedostossa. Myös vesan_asetukset on kunnossa ja oikeassa paikassa. Ecplipsen versio on myös sama kuin ohjaajan koneessa.
VL: Onko se varmasti oikea tiedosto oikealla nimellä? M$ kalut voi nimetä sen jar.zip.
—Ei oo .zippinä vaan ihan oikea FXMLpackage_1.0.0.jar tiedosto sivulta
VL: pääsetkö etäpääteohjaukseen?
Moi, asensin kaikki alusta lähtien toiselle tietokoneelle niin package ilmestyi niin kuin ohjeessa.
—- Mene projektisi src-hakemiston päälle
- Ota hiiren oikealla
New/Other.../JavaFXML Package/Uusi JavaFXML Package
- Paina
Next
- Täytä lomakkeen tiedot:
Project src folder:
- projektin lähdekoodihakemiston nimi, voit hakeaBrowse...
-painikkeella (etsi projektisisrc
-hakemisto)Packagen nimi:
- esimfxKerho
Ohjelman nimi:
- esimKerho
Paina
Finish
Em esimerkin perusteella luotiin automaattisesti tiedostot:
src/fxKerho/kerho.css src/fxKerho/KerhoView.fxml src/fxKerho/KerhoController.java src/fxKerho/KerhoMain.java
Valitse näistä
KerhoMain
aktiiviseksi ja aja se.
Täälläkään ei ilmesty JavaFX Package Eclipseen, Mac M1 kyseessä. Kolmeen kertaan tein ohjeen mukaan ja sammuttelin välillä. Mistäköhän mahtaa johtua?
—2.4 Kehitysprojekti
Projektin on aloittanut Antti Vasama.
Sijainti: https://gitlab.jyu.fi/tie/ohj2/esimerkit/fxexamples/-/tree/master/FXMLPackage
Mikäli muokkaat projektia, kommentoi alle mahdolliset muutokset ja/tai korjaa käyttöohjeita vastaavasti.
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.