Lab-11 – Implementieren ImageTab (Erweiterung Lab-10)

in Arbeit ...

Erweitere den Code von Lab-10 um eine Klasse ImgViewer, die ebanfalls das Erzeugen neuer ImgViewer-Tabs mit dynamisch eingeblendetem Menü-Eintrag "'Tab N' Bild laden" ermöglicht.

Die Struktur soll möglichst analog zu `QuickNote`implementiert werden.

Klasse JfxApp4 ist an einer einzigen Stelle zu ergänzen:
Methode composeMenuBar(), unter …​ new MenuItem("Neuer Notiz-Tab") ist der Code zur Anzeige eines weiteren MenuItems `Neuer ImgViewer Tab hinzuzufügen.

Klasse ImgViewer hat zu QuickNote analoge Instanzvariablen und zumindest folgenden Konstruktor und folgende Methoden:

  • ImgViewer(JfxApp4 app, int tabId) …​ erzeugt eine Instanz

  • void setupMyTab(int tabIdx)

    • erzeugt myTab

    • setzt das aktuelle ImgViewer-Objekt als userData: myTab.setUserData(this). Damit kann bei Verfügbarkeit des Tab-Objekts auf das gesamte ImgViewer-Objekt zugegriffen werden (soweit public Getter oder andere public Methoden dafür vorhanden).

    • Als Content wird ein ImageView-Objekt gesetzt.

    • bei aktivem ImgViewer-Tab wird das MenuItem 'Tab N' Bild laden angezeigt

    • Der Pfad zum Bild wird mittels aFileChooserObj.showOpenDialog(ownerWindow) bereitgestellt.

    • Die von Image unterstützten Bild-Formate werden per ExtensionFilter Objekten zugänglich gemacht. Liste unterstützter Formate siehe Image (JavaFX 17) | openjfx.io/javadoc

      in Arbeit ...