LayoutManager Panel verschieben sich

Hutzli

Aktives Mitglied
hi, habe mal ne frage..

ich hab mit einem panel tool, das ein lehrer von mir geschrieben hat, zwei Panels erstellt und einen ActionListener auf die Buttons hinzugefügt. Durch Klicken auf einen Button sollte es mir das eine Panel löschen und das zweite Hinzufügen. Das macht es auch, nur verschiebt es die Panels immer ein Stück nach unten, bis plötzlich Teile des Inhaltes nicht mehr zu sehen sind, also Buttons oder Text Felder verschwinden.
Hier mal ein Auszug aus dem ActionListener, der das erste Panel zum zweiten wechselt.

Java:
lPanel.setVisible( false );
lPanel.removeAll();
lPanel.add( new LernUmgebungStartPanel( ) );
lPanel.setVisible( true );

Und hier noch die Klasse LernUmgebungStartPanel:
Java:
package drawLernUmgebung;

import helper.Helper;

import java.awt.Dimension;
import java.awt.Font;
import java.awt.Panel;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

import action.ActionGuiLern;
import ch.jmildner.tools.MyPanel;

public class LernUmgebungStartPanel extends Panel{

	JButton lLos = new JButton( "Los" );
	JButton lZurueck = new JButton( "Zurück" );
	
	JTextArea lListe = new JTextArea( 20,0 );
	
	JScrollPane sp = new JScrollPane( lListe );
	
	JComboBox lAuswahl = new JComboBox( new Object[ ]{ "1 - ","2 - ","3 - ",
													 "4 - ","5 - ","6 - ",
													 "7 - ","8 - ","9 - ",
													 "10 - ","11 - ","12 - ",
													 "13 - ","14 - ","15 - ",
													 "16 - ","17 - ","18 - ",
													 "19 - ","20 - ","21 - ",
													 "22 - ","23 - ","24 - ",
													 "25 - ","26 - ","27 - ",
													 "28 - ","29 - ","30 - ",
													 "31 - ","32 - ","33 - ",
													 "34 - ","35 - ","36 - ",
													 "37 - ","38 - ",
													 } );
	
	JLabel lTitel = new JLabel( "BLABLABLABALABASDSFDSFDSg" );
	
	Helper lHp = new Helper( );
	
	private MyPanel lPanel = new MyPanel( 12,10,false );

	
	public LernUmgebungStartPanel()
	{
		setPanel( );	
		setHelper( );
		setText( );
		setAction( );
		
	}

	private void setAction( ) 
	{
		ActionGuiLern lAgl = new ActionGuiLern( lLos, lZurueck, lAuswahl, lPanel );
	}

	private void setText( ) 
	{
		
		lTitel.setFont( new Font( "Comic Sans MS Fett", Font.BOLD, 21 ) );
	}

	private void setHelper( ) 
	{
		lHp.setUnwritable( lListe );
		
		lHp.setHotKey( lLos, 'L');
		lHp.setHotKey( lZurueck, 'Z');
		
	}

	private void setPanel( ) 
	{
		
		lPanel.add( lTitel,1,1,2);
		lPanel.add( sp,3,3,9 );
		lPanel.add( lLos,8,7,1 );
		lPanel.add( lAuswahl,8,3,4);
		lPanel.add( lZurueck,8,11,1);
		
		this.add( lPanel );
		
		
	}


}

Und noch die Klasse GuiStartPanel, die das erste Panel erstellt...
Java:
package draw;

import helper.Helper;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Font;
import java.awt.Panel;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;

import action.ActionGuiStart;
import ch.jmildner.tools.MyPanel;

public class GuiStartPanel extends Panel 
{
	JButton lLernUmgebung = new JButton( "Lernumgebung" );
	JButton lInfo = new JButton( "Info" );
	JButton lBeenden = new JButton( "Beenden" );
	
	JLabel lStartLabel = new JLabel( "BLABLABLABALABASDSFDSFDS" );
	
	JTextArea lWelcome = new JTextArea( 15,0 );
	
	private MyPanel lPanel = new MyPanel( 12,10,false );
	
	Helper lHp = new Helper( );
	


	public GuiStartPanel( )
	{
		setPanel( );	
		setHelper( );
		setText( );
		setAction( );
		
	}

	private void setText() {
		
		GuiStartPanelSetText lSetText = new GuiStartPanelSetText( );
		
		lSetText.setText( lWelcome );
		
	}

	private void setHelper() 
	{
		lHp.setHotKey( lLernUmgebung, 'L' );
		lHp.setHotKey( lInfo, 'I' );
		lHp.setHotKey( lBeenden, 'B' );
	
		lHp.setUnwritable( lWelcome );
	}

	private void setAction() 
	{	
		ActionGuiStart lAgs = new ActionGuiStart( lLernUmgebung, lInfo, lBeenden, lPanel );
	}

	private void setPanel() 
	{

		lStartLabel.setFont( new Font( "Comic Sans MS Fett",Font.BOLD, 21 ) );
		
		lPanel.add( lWelcome,2,2,9 );
		
		lPanel.add( lLernUmgebung,3,1,1 );
		lPanel.add( lInfo,4,1,1 );
		
		lPanel.add( lBeenden,10,10,1 );
		
		lPanel.add( lStartLabel,1,1,2 );
		
		this.add( lPanel );
		
		
	}
	
}

Es wird die Klasse LernUmgebungStartPanel aufgerufen, die das zweite Panel zeichnen soll. Und kommt mir bitte nicht mit CardLayout, das ist mir zu umständlich...

Danke schon mal für eure Hilfe ;)
 

L-ectron-X

Gesperrter Benutzer
AWT- und Swing-GUI-Komponenten sollten auf keinen Fall mit einander vermischt werden!
Die
Code:
setVisible()
-Aufrufe kannst du entfernen, die sind hier überflüssig.
Code:
remove()
oder
Code:
removeAll()
ist schon als Alternative zum CardLayout OK.
Aber nach dem Hinzufügen musst du die GUI neu berechnen und zeichnen lassen.
Also noch
Code:
validate()
aufrufen!
 

Hutzli

Aktives Mitglied
hallo und danke für die Antwort...


Nur leider funktioniert das ganze nich wirklich ;(

das erste panel wird weiterhin angezeigt und das zweite drückts dazwischen

hat sonst noch jemand eine Idee??

ps. hab mal beim gewechselten Panel auf Vollbild gedrückt, dann wird das neue Panel komplett angezeigt,
verschiebt sich aber immer noch nach unten
 
Zuletzt bearbeitet:

Hutzli

Aktives Mitglied
also, wenn ich starte sieht das so aus: (Die Guis sehen schlecht aus, das weiss ich, werde ich auch noch ändern, ist eh nur um zu üben)

vorher.jpg

wenn ich auf "Lernumgebung" drücke sieht das so aus:

zwischen.jpg

und wenn ich auf "Zurück" drücke und wieder auf "Lernumgebung" usw... siehts dann einmal so aus:

nachher.jpg

danke schon mal für eure Hilfe :)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Bild auf Panel vergrößern und verschieben AWT, Swing, JavaFX & SWT 4
R Bereiche auf Panel verschieben AWT, Swing, JavaFX & SWT 2
L paintComponent in Panel eines Borderlayouts hinzufügen AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
CptK Ordentlicher Code & Panel ab bestimmter Komponentenzahl scrollbar machen AWT, Swing, JavaFX & SWT 12
B JTextField in Panel positionieren AWT, Swing, JavaFX & SWT 1
R Swing Panel nur bei Maus sichtbar AWT, Swing, JavaFX & SWT 2
B mit Maus verschiebbares Panel AWT, Swing, JavaFX & SWT 2
S Labels in Panel erstellen AWT, Swing, JavaFX & SWT 1
H Aus Array Container Panel an Tabbedpane zuweisen AWT, Swing, JavaFX & SWT 29
S Swing Panel wird nicht neu gezeichnet AWT, Swing, JavaFX & SWT 3
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
CptK Swing DropdownMenu über Panel-Grenzen hinaus anzeigen AWT, Swing, JavaFX & SWT 1
J Aufklappbares Panel in Toolbar AWT, Swing, JavaFX & SWT 6
L ActionListener zu Button in Panel hinzufügen AWT, Swing, JavaFX & SWT 10
S Swing Panel übernimmt komponenten von anderem AWT, Swing, JavaFX & SWT 7
J Panel auf Frame positionieren AWT, Swing, JavaFX & SWT 9
J JFrame Panel hinzufügen AWT, Swing, JavaFX & SWT 10
B AWT Panel größe im BorderLayout einstellen AWT, Swing, JavaFX & SWT 1
K Swing Entfernen von Panel funktioniert nicht AWT, Swing, JavaFX & SWT 5
L JavaFX Animation für Panel wechsel AWT, Swing, JavaFX & SWT 3
L Swing JTable im Panel darstellen AWT, Swing, JavaFX & SWT 8
L JavaFX Klickverhalten bei einem Panel AWT, Swing, JavaFX & SWT 1
A Swing Panel mit ScrollBar AWT, Swing, JavaFX & SWT 7
K Panel verdeckt MenuItem AWT, Swing, JavaFX & SWT 5
H zwei gleich große Panels getrennt durch ein weiteres Panel AWT, Swing, JavaFX & SWT 10
N Swing Label auf Panel legen.. AWT, Swing, JavaFX & SWT 2
J Panel auf Frame löschen und neues Panel Hinzufügen AWT, Swing, JavaFX & SWT 4
T Swing Graphics auf Panel AWT, Swing, JavaFX & SWT 2
B Swing WindowBuilde: Menu -> anderes Panel wechseln AWT, Swing, JavaFX & SWT 1
U Java FX Zusätzliches Label per Knopfdruck während der Laufzeit auf Panel einfügen. AWT, Swing, JavaFX & SWT 2
P AWT Panel überschreibt vorheriges... AWT, Swing, JavaFX & SWT 2
Thallius Swing Warum kann man Texte im Panel nicht markieren? AWT, Swing, JavaFX & SWT 1
S NetBeans, Panel in Frame einfügen AWT, Swing, JavaFX & SWT 3
M AWT Panel wird nicht angezeigt AWT, Swing, JavaFX & SWT 7
P Fenstergröße ändern, Panel soll gleich bleiben AWT, Swing, JavaFX & SWT 2
M JavaFX Slide Panel AWT, Swing, JavaFX & SWT 2
P Swing Panel nicht sichtbar AWT, Swing, JavaFX & SWT 1
M Swing JtextField Panel in ander Panel aufrufen AWT, Swing, JavaFX & SWT 0
M Panel in geerbter JFrame Klasse adden AWT, Swing, JavaFX & SWT 4
S ScrollPane in Textarea und auf Panel AWT, Swing, JavaFX & SWT 4
D Swing Bei Button Click neues Panel laden AWT, Swing, JavaFX & SWT 3
D Panel wird nicht angezeigt und Fragen zum CardLayout AWT, Swing, JavaFX & SWT 6
S Swing JMenu löscht auf panel gezeichnetes AWT, Swing, JavaFX & SWT 3
X Java Panel zeitweise repainten AWT, Swing, JavaFX & SWT 8
X Panel Probleme (Tetris) AWT, Swing, JavaFX & SWT 8
W Swing Nicht-Editierbares Textfeld in Panel in ScrollPane AWT, Swing, JavaFX & SWT 9
B zweidimensionales Buttonarray auf Panel AWT, Swing, JavaFX & SWT 11
F JAVA-EDITOR: Panel in Frame aufnehmen AWT, Swing, JavaFX & SWT 3
F textarea lässt panel verschwinden AWT, Swing, JavaFX & SWT 4
T LayoutManager GridLayout panel.setSize funktioniert nicht AWT, Swing, JavaFX & SWT 1
A Panel lässt sich nicht bewegen AWT, Swing, JavaFX & SWT 2
E Panel mit Leben füllen AWT, Swing, JavaFX & SWT 2
K Swing Maus in Panel einsperren AWT, Swing, JavaFX & SWT 8
D Panel in Panel zentriert nicht richtig AWT, Swing, JavaFX & SWT 3
P Swing Panel-austausch über einen MenuListener AWT, Swing, JavaFX & SWT 2
1 Swing Bestimme ob ein Subelement eines panel den Fokus verloren hat AWT, Swing, JavaFX & SWT 2
P Swing Button über gesamtes Panel AWT, Swing, JavaFX & SWT 2
O LayoutManager Panel in Panel "maximieren" AWT, Swing, JavaFX & SWT 2
C AWT Horizontale Linie in einem Panel AWT, Swing, JavaFX & SWT 12
T Über mehrere Panel zeichnen AWT, Swing, JavaFX & SWT 2
B Export eines Panel mit ScrollBar AWT, Swing, JavaFX & SWT 4
S Größe von Panel verändern welches auf anderem Panel sitzt AWT, Swing, JavaFX & SWT 10
bluerob Panel im BorderLayout South wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
M Swing Panel klassenübergreifend ändern AWT, Swing, JavaFX & SWT 6
M Swing JFrame in einem Panel zeichnen AWT, Swing, JavaFX & SWT 3
A 2D-Grafik Panel inhalt löschen AWT, Swing, JavaFX & SWT 5
H Scroll Panel wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 6
S Elemente im Panel in richtige Ausgangsstellung bringen AWT, Swing, JavaFX & SWT 10
X Swing Panel Extra Klasse & Aufruf über Button AWT, Swing, JavaFX & SWT 18
Kenan89 2D-Grafik paintComponent quetsch alles in Panel AWT, Swing, JavaFX & SWT 26
C ImageIcon eines Labels auf einem Panel in neuem Fenster anzeigen AWT, Swing, JavaFX & SWT 2
O Swing JTree um Label (oder Panel) erweitern AWT, Swing, JavaFX & SWT 9
S Vaadin: Panel AWT, Swing, JavaFX & SWT 10
R paintComponent malt bei repaint() Rahmen um Panel AWT, Swing, JavaFX & SWT 7
C Etwas durchsichtig machen über einem Panel AWT, Swing, JavaFX & SWT 7
K Panel zu Laufzeit ändern AWT, Swing, JavaFX & SWT 6
T eigene Klasse für Panel AWT, Swing, JavaFX & SWT 9
D Panel aus externer Klasse holen AWT, Swing, JavaFX & SWT 2
L Swing dynamisches Image-Panel in Layout einbinden AWT, Swing, JavaFX & SWT 10
T Listener in anderen Panel deaktivieren AWT, Swing, JavaFX & SWT 3
H Verschiedene JPanels aus eigenen Klassen in JFrame einfügen, nur ein Panel sichtbar AWT, Swing, JavaFX & SWT 4
GUI-Programmer Informations-Panel an Label AWT, Swing, JavaFX & SWT 2
U Elemente im Panel zentrieren mit GridLayout AWT, Swing, JavaFX & SWT 3
J JPanel mit anderem Panel aus anderer Klasse setzen AWT, Swing, JavaFX & SWT 4
F 2D-Grafik Panel-Zeichnung erscheint nicht AWT, Swing, JavaFX & SWT 7
S Panel rapaint AWT, Swing, JavaFX & SWT 18
T AffineTransform wirkt sich nur auf dem ersten Panel aus AWT, Swing, JavaFX & SWT 3
K Swing: Panel in Panel erzeugen AWT, Swing, JavaFX & SWT 11
M Panel in SWT einfügen AWT, Swing, JavaFX & SWT 12
T auf Panel zeichnen AWT, Swing, JavaFX & SWT 4
A FormLayout Panel-Breite AWT, Swing, JavaFX & SWT 7
Dit_ "Expandable" Panel ? AWT, Swing, JavaFX & SWT 6
A Panel-Unterklasse funktioniert nicht AWT, Swing, JavaFX & SWT 16
A Panel zu klein AWT, Swing, JavaFX & SWT 14
M Eigenes Panel aus Component? AWT, Swing, JavaFX & SWT 5
S Swing Größe von JLabels verändern sich in einem Panel unterschiedlich AWT, Swing, JavaFX & SWT 6
B Panel als Bild speichern AWT, Swing, JavaFX & SWT 11
V Panel/Icon aktualisieren AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben