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 gesamteImgViewer
-Objekt zugegriffen werden (soweitpublic
Getter oder anderepublic
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 perExtensionFilter
Objekten zugänglich gemacht. Liste unterstützter Formate siehe Image (JavaFX 17) | openjfx.io/javadocin Arbeit ...
-