You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

For å kunne opprette og endre FXML-filer i Java så er det nyttig å ha Scenebuilder installert. Scenebuilder lar deg endre brukergrensesnitt med drag-and-drop, og gjør det noe enklere å komme i gang i stedet for å måtte skrive alt som FXML-kode. Vi trenger i tillegg JavaFX-tillegget i Java for å kunne kjøre selve programmene vi lager.

For de aller fleste skal dette fungere fra start, men hvis du har ny Mac med M1-prosessor så er det mulig du støter på problemer ved oppsett av enten Scenebuilder eller JavaFX. Se seksjonen nedenfor om kjente problemer

  1. Last ned Scenebuilder for ditt operativsystem herfra: https://gluonhq.com/products/scene-builder/#download
  2. Installer Scenebuilder på et egnet sted på PCen din. Det er ikke så farlig hvor du installerer det, men det er viktig at du merker deg hvor programmet ligger, da du må finne frem til det igjen snart.
  3. Installer SceneBuilder extension for Visual Studio Code hvis du ikke allerede har gjort det herfra: https://marketplace.visualstudio.com/items?itemName=bilalekrem.scenebuilderextension. Denne følger med som et recommended extension i repoet vår 2022 så de fleste vil allerede ha den installert. Vi trenger dette tillegget for å kunne åpne FXML-filer direkte fra VSCode i SceneBuilder uten å måtte finne frem til riktig FXML-fil inne i Scene Builder da dette er et separat program fra VSCode.r
  4. Høyreklikk på en FXML-fil i student-repoet (det er ikke så farlig hvilken det er) og velg Open in Scene Builder. Deretter må du finne frem til der du installerte SceneBuilder og velge SceneBuilder-programmet for å fortelle VSCode-tillegget hvor den finner SceneBuilder-programmet
    1. Hvis du ikke får opp noe valg for dette kan du også trykke på View → Command palette... oppe i menylinjen og skrive inn Configure Scene Builder path hvorpå du vil bli bedt om å peke på programmet.
  5. Hvis du har gjort et av alternativene i steg 4 skal nå FXML-filen åpne seg i Scenebuilder.


Kjente problemer

JavaFX-filer vil ikke kjøre på M1 Mac

Vi har fått rapporter om at en del med M1 Mac ikke får til å kjøre JavaFX-filer. Disse har vanligvis navn som *App.java for å indikere at dette er programmer som kan kjøres.

Vi har fått indikasjoner på at å endre versjonsnummeret på javafx-fxml (se bildet nedenfor) inne i pom.xml-filene i studentrepoet skal fungere. For dere med M1 Mac kan dere prøve å endre versjonen (det som står mellom <version></version>) til 17-ea+8 for å se om dette fungerer. Det er en slik pom-fil per underprosjekt i repoet, dette betyr at du må endre den både inne i foreksempel, minegenkode og ovinger for å få JavaFX-kode til å kjøre i alle disse mappene.

Et kjent problem for versjon 17-ea+8 er at den fører til at JavaFX-programmer krasjer for enkelte. I dette tilfellet kan det fungere å bytte til versjon 17.0.2 i stedet inne i pom.xml-filene.


"Open in SceneBuilder" fungerer ikke på Mac (får feilmeldingen "Unable to open SceneBuilder)

  1. Open the folder where any of your .fxml files are stored in. For example : I chose ../Users/<BRUKERNAVN PÅ MAC>/Documents/NTNU/VÅR 2022/TDT4100/students/foreksempel/src/main/java/uke5/.
  2. Right click on the kafe.fxml and click "Open with > Other". You will notice that SceneBuilder.app will be grayed out.
  3. Just change "Enable: Recommended Applications" to "Enable: All Applications". Here you will notice that the SceneBuilder.app image will be clear. Click "Always open with" and double click on the SceneBuilder.app.

  1. The kafe.fxml file will now be opened in SceneBuilder.app. 
  2. Close SceneBuilder.
  3. Go back to VSCode and open kafe.fxml file. Right click and "Open in SceneBuilder" should work now.
  • No labels