Element anzeigen / erstellen. Maus vs Controller

filth

Bekanntes Mitglied
Hallo,

ich habe eine Methode, die im TabbedPane Tabs anlegt:

Java:
    public void generateImageTab(String title) {
    	
        UUID id = UUID.randomUUID();
        setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT);

        ImageAreaComponent imageArea = new ImageAreaComponent(id, myView);
	imageArea.setBackground(new java.awt.Color(43,89,105));
	imageArea.setForeground(new java.awt.Color(43,89,105));
        imageAreaList.add(imageArea);
        
        //Pack pack = new Pack();
        //packList.add(pack);
        
        JScrollPane jScrollPane = new JScrollPane(imageArea);
        jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
	jScrollPane.setDoubleBuffered(true);
	jScrollPane.setBorder(new LineBorder(new java.awt.Color(21,60,70), 1, true));
	jScrollPane.setBackground(new java.awt.Color(43,89,105));
        jScrollPane.getVerticalScrollBar().setUnitIncrement(20);
        scrollPaneList.add(jScrollPane);

        title = title == null? "" : title;
        title = title.equals("") ? "Bildpaket" : title;
        addTab(title,jScrollPane);
    }

Die Methode wird über einen MouseListener in der gleichen Klasse aufgerufen:

Java:
        miAppend = new JMenuItem("Paket hinzufügen");
        miAppend.setOpaque(true);
        miAppend.setFont(new java.awt.Font("Segoe UI",0,14));
        miAppend.setBackground(new java.awt.Color(37,81,95));
        miAppend.setForeground(new java.awt.Color(255,255,255));
        
        miAppend.setToolTipText("Es können insgesamt 5 Bildpakete angelegt werden");
        miAppend.addActionListener(new java.awt.event.ActionListener() {
            @Override
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                if(imageAreaList.size()<5) {
                    generateImageTab("");
                }
            }
        });

Das funktioniert soweit und neue Tabs erscheinen.
Nun soll aber an einer weiteren Stelle, im Controller die gleiche Methode "manuell" getriggert werden:

Java:
	public void initTabbedPane(String eventName)
	{
		System.out.println("new tab");
		ImageTabbedPane myPane = new ImageTabbedPane(myView);
		myPane.generateImageTab("");
	
		myView.setTabbedPane(myPane);
	}

In diesem Fall passiert nichts, es erscheint kein neuer Tab. Hat jemand eine Idee, was ich falsch mache?

Danke!
 

Michael...

Top Contributor
Grundsätzlich ein merkwürdiges Konstrukt. Hast Du JTabbedPane überschrieben und darin ein JMenu inkl. anonymen ActionListner (!=MouseListener) definiert?

Wo wird denn das in der init-Metode erzeugte Tabbed Pane "verbaut"? Was macht die Methode setTabbedPane(...)?
 

filth

Bekanntes Mitglied
Grundsätzlich ein merkwürdiges Konstrukt. Hast Du JTabbedPane überschrieben und darin ein JMenu inkl. anonymen ActionListner (!=MouseListener) definiert?

Wo wird denn das in der init-Metode erzeugte Tabbed Pane "verbaut"? Was macht die Methode setTabbedPane(...)?


Also das ImageTabbedPane leitet vom JTabbedPane ab. Dort im Init ist ein JPopupMenu mit einem ActionListener.
In der View wird beim Initialisieren ein ImageTabbedPane angelegt, was später durch das neue mit der setTabbedPane überschrieben werden soll.
 

filth

Bekanntes Mitglied
So:

Java:
	public void setTabbedPane(ImageTabbedPane i)
	{
		this.imageTabbedPane = i;
	}
 

Michael...

Top Contributor
So:

Java:
	public void setTabbedPane(ImageTabbedPane i)
	{
		this.imageTabbedPane = i;
	}
Hiermit referenziert nur die Variable imageTabbedPane auf die neue ImageTabbedPane - mehr nicht.
Das hat keine Auswirkungen auf die GUI oder sonst was. Nur auf Verwender die anschließend mit der Variable arbeiten.
Du müsstest die alte TabbedPane aus dem Container entfernen und die neue hinzufügen. Eventuell noch ein validate() auf auf den Container.

Aber soll wirklich die "alte" TabbedPane durch eine neue ersetzt werden? Eventuell reicht es ja aus einfach
Code:
 generateImageTab("")
an der bestehenden TabbedPane aufzurufen?
 

filth

Bekanntes Mitglied
Super! Vielen Dank!

Java:
	public void setTabbedPane(ImageTabbedPane i)
	{
		rightFrame.remove(imageTabbedPane);		
		this.imageTabbedPane = i;
		rightFrame.add(i, "0, 0, 3, 3");
	}

Es müssen in diesem Fall wirklich unterschiedliche Panels sein.
So funktioniert es. Ich hätte gedacht, dass nach dem Ändern der Referenz die View beim Repaint dann den neuen Inhalt automatisch nimmt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
G JCombobox - Element richtig anzeigen AWT, Swing, JavaFX & SWT 5
berserkerdq2 Wie greife ich auf ein Element zu, welches ich beim Scenebuilder erstellt habe AWT, Swing, JavaFX & SWT 10
W Element aus comboBox mit observableList löschen AWT, Swing, JavaFX & SWT 3
G FX warten bis ein anderes GUI Element ausgewählt wurde AWT, Swing, JavaFX & SWT 8
N JavaFX Tableview nach Löschen von Element falscher Index AWT, Swing, JavaFX & SWT 4
M Internal Frames und Canvas-Element AWT, Swing, JavaFX & SWT 9
kodela Swing Element einer JComboBox ausgrauen AWT, Swing, JavaFX & SWT 3
K JavaFX Element in HBOX nach rechts verschieben AWT, Swing, JavaFX & SWT 2
stroggi Swing Suche nach Kurveneditor (UI-Element) AWT, Swing, JavaFX & SWT 1
I FXML: StackPane als Root-Element AWT, Swing, JavaFX & SWT 5
ImperatorMing JavaFX Übersicht - Welches Element kann welches Erreignis AWT, Swing, JavaFX & SWT 3
D Swing "blaues" Element aus JComboBox erhalten AWT, Swing, JavaFX & SWT 6
F JavaFX Custom ListView erstellt ghost Element AWT, Swing, JavaFX & SWT 3
GreenTeaYT Wie vergebe Ich den Jframe Title den Namen aus einem Element von der Arraylist ? AWT, Swing, JavaFX & SWT 4
L JavaFX Hover Effekt über das Parent Element AWT, Swing, JavaFX & SWT 4
domjos1994 JavaFX Element auswählen auf dem der Cursor ist AWT, Swing, JavaFX & SWT 1
M Ein Element in mehreren JList selektieren AWT, Swing, JavaFX & SWT 5
R GUI Element in einer Methode aktualisieren (JTextPane) AWT, Swing, JavaFX & SWT 13
G JavaFX NullPointerException bei Zugriff auf FXML Element AWT, Swing, JavaFX & SWT 0
P Swing Nach removeAll() noch 1 Element vorhanden AWT, Swing, JavaFX & SWT 0
K Swing GUI Element wird nicht skaliert AWT, Swing, JavaFX & SWT 6
K Swing JList - Element richtig hinzufügen AWT, Swing, JavaFX & SWT 4
Z Swing Von vielen Klassen auf ein GUI-Element zugreifen AWT, Swing, JavaFX & SWT 10
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
E selektiertes Element aus JList zurückgeben AWT, Swing, JavaFX & SWT 7
H Swing Element aus JComboBox auswählen AWT, Swing, JavaFX & SWT 2
C click auf JButton und darunter liegendes element AWT, Swing, JavaFX & SWT 5
B Element schrittweise verschieben AWT, Swing, JavaFX & SWT 2
S Ausschluss bei Klick auf GUI Element AWT, Swing, JavaFX & SWT 6
GianaSisters AWT Per Button neues Element auf den jPanel setzen AWT, Swing, JavaFX & SWT 6
M gleiches Element in JList mehrmals hintereinander auswählen AWT, Swing, JavaFX & SWT 6
GianaSisters jList nur einmal ein Element anklicken AWT, Swing, JavaFX & SWT 3
M Frage nach Swing Element AWT, Swing, JavaFX & SWT 3
J jList, recht Maustast => Tooltip zu Element AWT, Swing, JavaFX & SWT 8
W SWT Resize Tree-Element AWT, Swing, JavaFX & SWT 3
Landei Swing JTree - Element mit Doppelklick auswählen AWT, Swing, JavaFX & SWT 4
B Swing: letztes Element wird immer auf Fenstergröße gezogen AWT, Swing, JavaFX & SWT 3
F Swing Paint mit Canvas Element AWT, Swing, JavaFX & SWT 35
G JTree Element wird nicht markiert AWT, Swing, JavaFX & SWT 2
X Swing Swing Element gesucht -> um als Konsole zu fungieren AWT, Swing, JavaFX & SWT 4
H GridBagLayout Element komplett ausfüllen AWT, Swing, JavaFX & SWT 5
D Swing Document-Structure; Element AWT, Swing, JavaFX & SWT 4
N Nur ein Element sichtbar beim Drucken eines JFrame AWT, Swing, JavaFX & SWT 9
C Aktion durchführen bei Klick auf ein Element im JTree (Untersch. Klick und Doppklick) AWT, Swing, JavaFX & SWT 5
S Listener der mich informiert wann immer einer Liste ein Element hinzugefuegt wird? AWT, Swing, JavaFX & SWT 4
H Swing [gelöst]Neues Swing Element erstellen AWT, Swing, JavaFX & SWT 4
D Problem an Parent Element ranzukommen. AWT, Swing, JavaFX & SWT 7
G JList und ein neues Element oben in der Liste einfügen AWT, Swing, JavaFX & SWT 4
U Ein Element in einer JList farbig hervorheben ! AWT, Swing, JavaFX & SWT 2
ABstraCT JCombobox dynamisch füllen (erstes Element Problem) AWT, Swing, JavaFX & SWT 4
N JPopupMenu - ausgewähltes Element zurückgeben AWT, Swing, JavaFX & SWT 2
V Element zu Listenfeld hinzufügen AWT, Swing, JavaFX & SWT 6
S MouseListener zurückverfolgung auf element. AWT, Swing, JavaFX & SWT 7
A Element aus einer JList löschen AWT, Swing, JavaFX & SWT 5
zilti Swing-Element verändern AWT, Swing, JavaFX & SWT 13
N in jScrollPane, neues Swing Element hinzufügen AWT, Swing, JavaFX & SWT 6
M Zwei Element auf ein Contentpane AWT, Swing, JavaFX & SWT 45
G Listener (anonyme Klasse) jedem Element eines Array zuweisen AWT, Swing, JavaFX & SWT 5
V Wie heisst dieses GUI-Element? Gibt es sowas für Swing? AWT, Swing, JavaFX & SWT 10
E JTree selektiertes Element AWT, Swing, JavaFX & SWT 3
S Swing Element für Explorer-Fenster darstellung AWT, Swing, JavaFX & SWT 13
W Element im JTree farblich markieren AWT, Swing, JavaFX & SWT 6
N JTree mehrere/ohne Root Element/e AWT, Swing, JavaFX & SWT 2
M JLIST - Ein Element selektieren und weiterverarbeiten! AWT, Swing, JavaFX & SWT 2
C leeres Element in Gridlayout einfuegen AWT, Swing, JavaFX & SWT 3
E Wie heißt dieses graphische Element (Bild inside)? AWT, Swing, JavaFX & SWT 2
G JTree. Neues Element hinzufügen und Selection beibehalten! AWT, Swing, JavaFX & SWT 3
D Element aus einer Methode heraus hinzufügen AWT, Swing, JavaFX & SWT 2
bummerland auf übergeordnetes element zugreifen AWT, Swing, JavaFX & SWT 2
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
W Kleine Sub-Tabelle in SpreadsheetView-Zelle anzeigen AWT, Swing, JavaFX & SWT 9
J Java GUI Dropdown-Menü anzeigen AWT, Swing, JavaFX & SWT 5
M Swing Bilder in Swing anzeigen AWT, Swing, JavaFX & SWT 9
J BufferedImages nacheinander als Video anzeigen AWT, Swing, JavaFX & SWT 14
BananenBrötchen Swing Arraylist in jList anzeigen AWT, Swing, JavaFX & SWT 6
Lukas2904 Swing ID von WLAN Kamera anzeigen lassen. AWT, Swing, JavaFX & SWT 2
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
G AWT AWT Kreise permanent anzeigen AWT, Swing, JavaFX & SWT 3
MiMa File Dateien im ListView als Name anzeigen? AWT, Swing, JavaFX & SWT 6
C Swing In der Titelleiste den Namen und den vollständigen Pfad bzw URL des aktuellen Dokuments anzeigen AWT, Swing, JavaFX & SWT 25
C Swing Aufruf der Funktion (die ein Dialog anzeigt) über Symbol anzeigen lassen AWT, Swing, JavaFX & SWT 4
O Timer in JOptionPane anzeigen AWT, Swing, JavaFX & SWT 2
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
C JavaFX Veränderungen in Scenebuilder in Eclipse als Quellcode anzeigen lassen AWT, Swing, JavaFX & SWT 11
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
J Warum kann ich die Spaltennummer in der Konsole anzeigen, diese aber nicht speichern ? AWT, Swing, JavaFX & SWT 6
VPChief Icons in 2 Jlabels Director nebeneinander anzeigen AWT, Swing, JavaFX & SWT 26
E Auf JPanel malen und davor JComponenten anzeigen AWT, Swing, JavaFX & SWT 12
A Swing Datei lässt sich zwar speichern, aber nicht laden (Inhalt im JTextField anzeigen) AWT, Swing, JavaFX & SWT 18
S Text-Info in der Taskbar anzeigen AWT, Swing, JavaFX & SWT 15
R JavaFX Label oder Imageview anzeigen mit Buttonklick AWT, Swing, JavaFX & SWT 4
B ArrayList, Strings anzeigen AWT, Swing, JavaFX & SWT 1
P Abwächselnd ein Punkt und ein x anzeigen AWT, Swing, JavaFX & SWT 2
A Fenster genau unterhalb von JTextField anzeigen AWT, Swing, JavaFX & SWT 1
N Wie kann ich zwei Grafiken in einer Oberfläche anzeigen lassen? AWT, Swing, JavaFX & SWT 8
T Swing Buffered Image anzeigen AWT, Swing, JavaFX & SWT 45
E Aktuelle Uhrzeit auf jeder Stage anzeigen lassen (JavaFX) AWT, Swing, JavaFX & SWT 2
F JavaFX Aktuelle Zeit in einem TextField anzeigen AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben