Swing Tab in JTabbedPane

Dit

Bekanntes Mitglied
Hallo Forum,

ich habe folgendes Problem,

ich lade mehrere Tabs in eine JTabbedPane, wenn die Leiste von der breite her voll ist, öffnet sich eine JScrollpane, jedes weitere Tab was ich jedoch hinzufüge wird natürlich angezeigt, aber die Scrollpane bewegt sich nicht weiter. Ich bekomme die Pfeile nach < | > die mir zwar sagen das es weiter geht, aber ich würde mir wünschen das sich die Scrollpane mit den weiter öffneten Tabs mitläuft.

Habe gerade mal diverese Methoden durchgeschaut, konnte aber nichts finden was mir weiter hilft.

Die Frage nun: Gibt es dafür schon etwas (in Scrollpane/ JTabbedPane) oder muss ich sowas mit einem Listener programmieren.

Danke und Gruß
 

KrokoDiehl

Top Contributor
Du redest von dem Fall, dass es so viele Tabs gibt, dass sie nicht alle nebeneinander passen? Dafür hat die JTabbedPane die LayoutPolicy (
Code:
setTabLayoutPolicy(int)
). Hier kann man sagen, ob es mehrere Reihen an Tabs geben soll (findet man oft in Windows), oder ob kleine Scrolltasten erscheinen sollen (der Standard), mit denen man Blättern kann.
Dass die JTabbedPane in eine JScrollPane kommt und somit der gesamte Bereich scrollbar wird, ist eine unübliche Lösung.

Aber zu deinem Problem: Du kannst einer JTabbedPane mit
Code:
setSelectedIndex(int)
jederzeit - z.B. auch nach dem Hinzufügen - sagen, was das aktive Tab sein soll.
 

Dit

Bekanntes Mitglied
Du redest von dem Fall, dass es so viele Tabs gibt, dass sie nicht alle nebeneinander passen? Dafür hat die JTabbedPane die LayoutPolicy (
Code:
setTabLayoutPolicy(int)
). Hier kann man sagen, ob es mehrere Reihen an Tabs geben soll (findet man oft in Windows), oder ob kleine Scrolltasten erscheinen sollen (der Standard), mit denen man Blättern kann.

Korrekt, da wir keine TabLayoutPolicy gewählt haben, wird wie du sagst, der Standard benutzt es scheinen kleine Scrolltasten. - Auch soweit alles in Ordnung.


Dass die JTabbedPane in eine JScrollPane kommt und somit der gesamte Bereich scrollbar wird, ist eine unübliche Lösung.

Damit meinte ich genau die Scrolltasten die erscheinen, ich packe es nicht nochmal extra in eine JScrollpane.

Aber zu deinem Problem: Du kannst einer JTabbedPane mit
Code:
setSelectedIndex(int)
jederzeit - z.B. auch nach dem Hinzufügen - sagen, was das aktive Tab sein soll.

Diese Methode wird ebenalls bei mir verwendet, das Aktive Tab ist auch blau hinterlegt, jedoch erscheint es rechts (nicht mehr im Sichtbarkeitsbereich) des JScrollpane. Ich muss per Maus auf die kleine Scrolltaste klicken, um das Active Tab in der Scrollpane sichtbar zu machen..

hier 2 Bilder die das Beschreiben:

Sehen möchte ich meinen "Ancestor Tree" der inzwischen offen ist.
Man beachte das erste Tab ist "3D" das letzte ist mein "Ancestor Tree" der aber nicht sichtbar ist.

Im Bild "JTabbedPane2" habe ich nun auf die Scrolltaste geklickt mein Ancestor Tree kommt, und 3D (erstes Tab) verschwindet, dieses soll natürlich automatisch passieren!

hoffe man versteht mich, frage nicht umsonst hier, danach zu googeln ist unmöglich :/

EDIT: Ich müsste quasi das Event feuern, dass auch gefeuert wird, wenn ich per Maus auf die Scrolltaste klicke... da in diesem Fall immer nur rechts angehangen wird, kann ich sagen "bei öffnen eines neues Tabs, schieb die Leiste eins weiter nach links, vorher muss ich prüfen, ob natürlich die Scrollleiste bereits aktiv ist.
 
Zuletzt bearbeitet:

KrokoDiehl

Top Contributor
Ah ok, dann habe ich das anders verstanden. Ehrlich gesagt wundert es mich, dass er beim
Code:
setSelectedTab()
nicht mitscrollt, aber ich habe folgenden Bug-Bericht gefunden, der dein Problem untermauert. Jemand hat dort eine Lösung ...naja, einen Workaround... gepostet, der mir alles andere als intuitiv erscheint ;)
Vielleicht hilft es dir ja weiter...
 

hansmueller

Bekanntes Mitglied
Hallo,

dieser Bug ist ja schon etwas älter.

Aber wie dort beschreiben, geht es auch mit einem
Java:
SwingUtilities.invokeLater(new Runnable() {
	          public void run() {
	            DeinJTabbedPane.setSelectedIndex(x);
	          }
	      });

MfG
hansmueller
 

Dit

Bekanntes Mitglied
Hey,

erst mal danke für den Workaround, habe diesen gerade mal bei mir eingebaut, das Problem besteht aber weiterhin.

Ich werde mal noch ein wenig schauen, mich wundert jedoch, dass es dafür noch keine Lösung gibt.
Wie ich bereits geschrieben habe muss ich ja nur den klick auf den Scrollbutton ansteuern, wenn ich ein neues Tab hinzufüge.

Trotzdem danke dir. Falls ich noch was finden sollte, meld ich mich hier.

Grüße

EDIT: Beide Workarounds bringen bei mir nicht den gewünschten Effekt, bei dem letzteren Reagiert sie zwar anders, aber nicht so wie erwartet,das erste schiebt er aber beim zweiten mal verschwindet das nächste Tab wieder in der Scrollleiste
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
BabySuna darstellungsprobleme mit JTabbedPane und GridBagLayout AWT, Swing, JavaFX & SWT 8
I JTabbedPane mit DnD, [x]-Schaltfläche, [+]-Schaltfläche usw. AWT, Swing, JavaFX & SWT 1
D JScrollPane in JTabbedPane AWT, Swing, JavaFX & SWT 3
D Kein Icon beim JTabbedPane AWT, Swing, JavaFX & SWT 1
B JTabbedPane Tabs anordnen AWT, Swing, JavaFX & SWT 2
D JTabbedPane GUI Experimente AWT, Swing, JavaFX & SWT 4
N JLabel in JTabbedPane verschieben AWT, Swing, JavaFX & SWT 2
U JScrollPane -> JTabbedPane u.A. AWT, Swing, JavaFX & SWT 3
L JTabbedPane mit for Schleife aufbauen AWT, Swing, JavaFX & SWT 4
J JTabbedPane Vollbild wenn Tabwechsel AWT, Swing, JavaFX & SWT 1
B StateChangeListener auf JTabbedPane AWT, Swing, JavaFX & SWT 5
F jTabbedPane Tabwechsel deaktivieren AWT, Swing, JavaFX & SWT 2
J JTabbedPane: close Button Problem AWT, Swing, JavaFX & SWT 2
J JTabbedPane: table in new tab: tooltip benutzt die column-widths von table in erstem geöffneten tab AWT, Swing, JavaFX & SWT 17
M JTabbedPane verändern mit Nimbus Look and Feel AWT, Swing, JavaFX & SWT 1
F JTabbedPane bestimmten Tab ansprechen AWT, Swing, JavaFX & SWT 13
F JTabbedPane mit Button zum Hinzufügen eines neuen Tabs AWT, Swing, JavaFX & SWT 6
BRoll JTabbedPane setTitleAt OutOfBoundsExc AWT, Swing, JavaFX & SWT 4
K JTabbedPane Tab Markierung / Selektion AWT, Swing, JavaFX & SWT 4
B Custom JTabbedPane-Tab-Design AWT, Swing, JavaFX & SWT 2
L JTabbedPane Closebutton integrieren AWT, Swing, JavaFX & SWT 6
J JTabbedPane Grafik unterhalb der Tabs AWT, Swing, JavaFX & SWT 3
H Swing JTabbedPane: Zusätzliche Buttons neben den Tabs AWT, Swing, JavaFX & SWT 7
V JTabbedPane Eingefügte Labels verschoben AWT, Swing, JavaFX & SWT 2
M Swing JTabbedPane: Tab-Elemente anpassen AWT, Swing, JavaFX & SWT 3
S Swing JTabbedPane: Nur nach ButtonClick und nicht nach Click auf Tab ins nächste Tab wechseln AWT, Swing, JavaFX & SWT 2
P JTabbedPane per Menuitem erstellen AWT, Swing, JavaFX & SWT 20
K Swing JTabbedPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 19
B Swing JTabbedPane in JApplet -> Reiter bei Aktualisation mehrmals zu sehen AWT, Swing, JavaFX & SWT 3
M JTabbedPane -> setSelectedIndex funzt nicht AWT, Swing, JavaFX & SWT 3
D Bestimmtes JPanel innerhalb eines JTabbedPane ansprechen AWT, Swing, JavaFX & SWT 2
M jtabbedpane aktivieren/deaktivieren AWT, Swing, JavaFX & SWT 13
J Swing Letzten Tab einer JTabbedPane ermitteln AWT, Swing, JavaFX & SWT 6
T JTabbedPane - neuen Tab zwischen zwei anderen Tabs hinzufügen AWT, Swing, JavaFX & SWT 2
B Hilfe zu JTable und JTabbedPane AWT, Swing, JavaFX & SWT 18
hdi LookAndFeel Nimbus BUG mit JTabbedPane?! AWT, Swing, JavaFX & SWT 5
hdi Swing Problem mit JTabbedPane AWT, Swing, JavaFX & SWT 2
A LookAndFeel Rollover Effekt bei JTabbedPane deaktivieren (Nimbus) AWT, Swing, JavaFX & SWT 8
T Inhalt von einem Tab an JTabbedPane größe ausrichten? AWT, Swing, JavaFX & SWT 2
S JTabbedPane Problem AWT, Swing, JavaFX & SWT 3
S JTabbedPane AWT, Swing, JavaFX & SWT 4
D JTabbedPane mit Eventlistener versehen? AWT, Swing, JavaFX & SWT 9
M Swing JTabbedPane Panels deaktivieren AWT, Swing, JavaFX & SWT 2
K JTabbedPane setName() für jedes Tab AWT, Swing, JavaFX & SWT 2
G JTabbedPane - Länge der Reiter beeinflussen? AWT, Swing, JavaFX & SWT 9
G Swing JTabbedPane Was für ein Border wird da um die Tabs gezeichnet? AWT, Swing, JavaFX & SWT 6
S Swing Komponentengröße in JTabbedPane AWT, Swing, JavaFX & SWT 7
M Ein Tab eine JTabbedPane durch Button Druck öffen AWT, Swing, JavaFX & SWT 2
Y LookAndFeel JTabbedPane: Tab-Farbe mit Nimbus setzen AWT, Swing, JavaFX & SWT 3
M CloseButton bei JTabbedPane AWT, Swing, JavaFX & SWT 4
P Swing JTabbedPane mit JButton einen anderen Tab anzeigen AWT, Swing, JavaFX & SWT 9
D JTabbedPane zentrieren AWT, Swing, JavaFX & SWT 2
S Swing JTabbedPane: Inhalt soll oben links anfangen AWT, Swing, JavaFX & SWT 6
Mike90 JTabbedPane Größe anpassen AWT, Swing, JavaFX & SWT 17
F JTabbedPane Reiter breite AWT, Swing, JavaFX & SWT 4
B JTabbedPane mit Enumeration dynamisch füllen AWT, Swing, JavaFX & SWT 5
A JFrame > JTabbedPane > JPanel > addKeyListener AWT, Swing, JavaFX & SWT 18
D JTabbedPane - Farbe ändern im Bereich hinter den Reitern AWT, Swing, JavaFX & SWT 2
M JTabbedPane - Tab auslesen AWT, Swing, JavaFX & SWT 2
H Swing Problem mit JTabbedPane AWT, Swing, JavaFX & SWT 9
D jtabbedpane Event VOR tab-Wechsel AWT, Swing, JavaFX & SWT 3
S Border von JTabbedpane-Tab? AWT, Swing, JavaFX & SWT 3
M JTabbedPane Docable? AWT, Swing, JavaFX & SWT 3
L Swing JTabbedPane - Index vom Tab AWT, Swing, JavaFX & SWT 3
D Swing JTabbedPane, TabComponent & Popup AWT, Swing, JavaFX & SWT 4
F Borders von JTabbedPane und JScrollPane AWT, Swing, JavaFX & SWT 5
W JTabbedPane Größe anpassen AWT, Swing, JavaFX & SWT 4
G Swing JTabbedPane vergrößern AWT, Swing, JavaFX & SWT 2
H Swing Register (jTabbedPane) dynamisch hinzufügen? AWT, Swing, JavaFX & SWT 7
D Tabs von JTabbedPane stylen AWT, Swing, JavaFX & SWT 6
U JTabbedPane: Layout-Probleme bei addTab zur Laufzeit AWT, Swing, JavaFX & SWT 2
1 JTabbedPane Tab ausdehnen AWT, Swing, JavaFX & SWT 3
F Swing JTabbedPane: Zur Laufzeit die Tabreihenfolge ändern AWT, Swing, JavaFX & SWT 2
M Elemente in JTabbedPane platzieren AWT, Swing, JavaFX & SWT 7
B Swing JFormattedTextField auf mehreren JPanels in einer JTabbedPane AWT, Swing, JavaFX & SWT 3
K LookAndFeel JTabbedPane mit Icon und CloseButton AWT, Swing, JavaFX & SWT 2
D Swing Probleme bei mit JTabbedPane.getChildren() AWT, Swing, JavaFX & SWT 4
I Swing Randnutzung bei JTabbedPane.LEFT AWT, Swing, JavaFX & SWT 2
ABstraCT JTabbedPane - click wird nicht immer ausgeführt ! AWT, Swing, JavaFX & SWT 10
P JTabbedPane und fill? AWT, Swing, JavaFX & SWT 2
D Swing mehrere JTable in separaten Tabs einer JTabbedPane AWT, Swing, JavaFX & SWT 2
G JTabbedPane transparent AWT, Swing, JavaFX & SWT 2
S Swing JTabbedPane: Resize des JFrame bei Tab wechsel AWT, Swing, JavaFX & SWT 8
thE_29 Swing JTabbedPane Focus von Komponenten außerhalb AWT, Swing, JavaFX & SWT 10
S Scrollbar in einem JTabbedPane AWT, Swing, JavaFX & SWT 4
A Schriftfarbe von jTabbedPane und Button Ändern AWT, Swing, JavaFX & SWT 7
R JTabbedPane Selektion verfolgen? AWT, Swing, JavaFX & SWT 2
byte JTabbedPane - Insets entfernen AWT, Swing, JavaFX & SWT 7
S JTabbedPane child setBounds AWT, Swing, JavaFX & SWT 4
J jTabbedPane mit jPanel füllen AWT, Swing, JavaFX & SWT 14
A JTable im JTabbedPane -> Überschriften werden nicht angez AWT, Swing, JavaFX & SWT 2
V Extended JTabbedPane AWT, Swing, JavaFX & SWT 7
V JTabbedPane - keine "Focus"-Box auf selektiertem T AWT, Swing, JavaFX & SWT 2
G JTabbedPane wird groesser wenn man anderen Tab auswaehlt. AWT, Swing, JavaFX & SWT 2
A JTabbedPane Tabwechsel rausfinden AWT, Swing, JavaFX & SWT 2
O JTabbedPane - Selected Color? AWT, Swing, JavaFX & SWT 1
T Wie aktualisiere ich die Contents einer JTabbedPane? AWT, Swing, JavaFX & SWT 3
G JTabbedPane zentiert alles AWT, Swing, JavaFX & SWT 3
P Schließen-Button bei JTabbedPane? AWT, Swing, JavaFX & SWT 2
D Probleme mit JTabbedPane AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben