Swing JTabbedPane: Resize des JFrame bei Tab wechsel

Status
Nicht offen für weitere Antworten.

Souljumper

Aktives Mitglied
hi,

ich habe eine tabbed Pane die 2 JPanels enthält. das eine JPanel braucht für eine brauchbare Darstellung eine deutlich größere Fläch als das andere. Weswegen ich die größe meines JFrames, dass die beiden Panels enthält, je nachdem welcher Tab grade geöffnet ist, anpassen will.

dafür ahb ich mir einen changeListener für die TabbedPane definiert. der die größe des JFrames setzt wenn ein Tab ausgewählt wird.

Leider kommt der Layoutmanager innerhalb des StudentSearchWindow-Panel damit nicht klar, weswegen alle Komponenten in der Mitte zentriert zusammengematscht dargestellt werden(siehe Anhang).

Das Problem tritt nur auf wenn ich versuche die Panels über das ChangeEvent zu resizen, jemand eine Idee woran das liegen kann?

Java:
public class MainWindowEmployee extends JFrame
{
	final int x_size=1024, y_size=1000;
	final int x_size_insert=600, y_size_insert=300;
	private JTabbedPane tabPane;
	private JPanel		searchPane;
	private JPanel		insertPane;
	private MenuBar    	menu;
	
	public MainWindowEmployee()
	{
		tabPane = new JTabbedPane();
		searchPane = new StudentSearchWindow(x_size, y_size);
		insertPane = new EmployeeInsertWindow();
		tabPane.addTab("Erfassen", insertPane);
		tabPane.addTab("Suchen", searchPane);
		tabPane.addChangeListener(new ChangeListener()
								  {

									public void stateChanged(ChangeEvent e) 
									{
										int selectedTab = ((JTabbedPane)e.getSource()).getSelectedIndex();
										if (selectedTab == 0)
										{
											setSize(x_size_insert, y_size_insert);
											setLocationRelativeTo(null);
											setVisible(true);
										}
										else
											setSize(x_size, y_size);
											setLocationRelativeTo(null);
											setVisible(true);
									}
									
								  }
								  );

		
		menu	= new MenuBar();
		setJMenuBar(menu);
		add(tabPane);
		setSize(x_size, y_size);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		setResizable(false);
		pack();
		setVisible(true);
	}
 

Anhänge

  • Untitled-1.jpg
    Untitled-1.jpg
    60,9 KB · Aufrufe: 45

Ebenius

Top Contributor
Leider kommt der Layoutmanager innerhalb des StudentSearchWindow-Panel damit nicht klar, weswegen alle Komponenten in der Mitte zentriert zusammengematscht dargestellt werden(siehe Anhang).

Das Problem tritt nur auf wenn ich versuche die Panels über das ChangeEvent zu resizen, jemand eine Idee woran das liegen kann?
  1. Gute Idee, nicht zu erwähnen welcher LayoutManager damit nicht klar kommt. Ich tippe mal, da ist irgendwo im JPanel (oder einem seiner Kinder) ein GridBagLayout.
  2. Sicher, dass der LayoutManager nicht auch herum zickt, wenn man das Fenster per Maus verkleinert?
Ebenius
 

Ebenius

Top Contributor
kann man dem layoutmanager nicht sagen das er selbständig versuchen soll auf seine preferredsize zu expandiere? oder ist das zuviel von dem manager erwartet.
Das ist zu viel erwartet, ja. Der LayoutManager hat die Aufgabe, zu berechnen wie groß das Layout am liebsten sein will, wir groß es mindestens sein will, und das Layout herzustellen. Mann kann einem Window sagen, es soll so groß sein, wie es alle Kontainer gern sein mögen. Mit Window.pack().

Warum Dein Layout so seltsam aussieht, wenn die Kontainer kleiner als ihre Lieblingsgröße werden, kannst Du hier nachlesen: [post=481017]Wie das GridBagLayout die Komponentengrößen verteilt[/post].

Ebenius
 

Souljumper

Aktives Mitglied
ah, ok, das funktioniert, danke.

ich hab auf dem Fenster eine JTextArea die ich mir mit infos aus einer Datenbank befüllen möchte (MySQL). Der Text ist relativ lang und kann sich ändern, wesewegen ich die Zeilenumbrüche schon mit in der DB speichern will da eine Aufbereitung im Programm nicht aussieht wegen Absätzen usw. Um Zeichensatzprobleme zu vermeiden dachte ich mir, ich ersetze jeden Zeilenumbruch durch die zeichenfolge "_CR_".

Wenn ich das dann aus der DB auslesen wollte ich "_CR_" durch ein "\u000A" (der Zeilenumbruch wie ich dachte) ersetzen.

nun sagt mir eclipse, sobald ich die String -replacefunktion benutze und ich das replace("_CR_","\u000A"); anwenden will, das ein Hochkommata fehlen würde.

Das scheint aufjedenfall an der unicodesequenc zu liegen, mit fast jeder anderen Unicodesequence funktioniert die umsetzung (für ä,ö,ü,ß usw mach ich es genaus), nur u.a. mit dieser nicht. Woran liegt das ? ist das ein eclipse bug?
 

Verjigorm

Top Contributor
Ohne Gewähr:
nimm besser ein System.getProperty("line.separator");

Code:
replace("_CR_",System.getProperty("line.separator"));
 
Zuletzt bearbeitet:

Ebenius

Top Contributor
Um Zeichensatzprobleme zu vermeiden dachte ich mir, ich ersetze jeden Zeilenumbruch durch die zeichenfolge "_CR_".
Das ist Unsinn. Speichere einfach den LF (alias "\n" oder "0xA") als Zeilenumbruch. Innerhalb Java ist LF der Zeilentrenner. Das System-Property "line.separator" wird ausschließlich bei File-I/O und der Konsole verwendet. Die JTextArea wird auf jeden Fall LF (ohne CR) liefern.

nun sagt mir eclipse, sobald ich die String -replacefunktion benutze und ich das replace("_CR_","\u000A"); anwenden will, das ein Hochkommata fehlen würde.
"\u000A" ist nicht gültig. Statt dessen "\n".

Ebenius
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ä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
D Swing Tab in JTabbedPane 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
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

Neue Themen


Oben