altes JPanel entfernen und neues öffnen

Amir

Mitglied
Hallo,
weiß jemand wie ich ein JPanel entfernen und eine neue, wessen code in der anderen Klasse definiert ist hinzufügen kann.
Ich wäre sehr dankbar, wenn mir jemand helfen würde, denn ich brauche dringend Hilfe.


Java:
 class Programm extends JFrame implements ActionListener  {
	
	 Buttons b = new Buttons();
	 Frame f = new Frame();
	 JButton button_next;
	  
	  URL file = this.getClass().getResource("firstPage.png");
	  
	  ImageIcon firstImage = new ImageIcon(getClass().getResource("firstPage.png"));
	  ImageIcon secoundImage = new ImageIcon(getClass().getResource("secoundPage.png"));
	  Image img = firstImage.getImage();  
	  Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
	  
	  JLabel label;
	  JPanel panel = new JPanel();
		 
	 public Programm(){
		  f.frame();
		  
		  Image newimg = img.getScaledInstance((int)dim.getWidth(),(int)dim.getHeight(), java.awt.Image.SCALE_SMOOTH);
		  firstImage = new ImageIcon(newimg);  
		  label= new JLabel(firstImage);
		 
		  panel.setSize((int)dim.getWidth(),(int)getHeight());
		  panel.setLayout(new BorderLayout()); 
		  //label.setPreferredSize(new Dimension((int) dim.getWidth(),(int) dim.getHeight()));
		 
		  panel.add(label, BorderLayout.CENTER);
		   //frame.setContentPane(new JLabel(firstImage));
		   addButtons();
	 	  	f.frame.add(panel, BorderLayout.CENTER);
	  }
	 
	  public void addButtons(){
			  b.button_next1.addActionListener(this);
			  f.frame.add(b.button_next1);
			  
			  b.button_mainMenu.addActionListener(this);
			  f.frame.add(b.button_mainMenu);
		  }		  
		  
	  public void actionPerformed(ActionEvent e){
		  if(e.getSource() == b.button_next1){
  			        f.frame.remove(panel);
  			        SecoundPage s = new SecoundPage();
			 }		  
		  if(e.getSource() == b. button_mainMenu){
				 f.frame.setVisible(false);
			 }
	  }
	  }

die zweite Klasse:
Java:
public class SecoundPage extends JFrame implements ActionListener  {
    Buttons b = new Buttons();
    Frame f = new Frame();
    
    ImageIcon secoundImage = new ImageIcon(getClass().getResource("secoundPage.png"));
	Image img = secoundImage.getImage();  
	Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
	
	JLabel label;
	JPanel panel = new JPanel();
	public  SecoundPage(){
		    Image newimg = img.getScaledInstance((int)dim.getWidth(),(int)dim.getHeight(), java.awt.Image.SCALE_SMOOTH);
		    secoundImage = new ImageIcon(newimg);
		    addButtons();
		   
		    label= new JLabel(secoundImage);
		    panel.setSize((int)dim.getWidth(),(int)getHeight());
			panel.setLayout(new BorderLayout());
			panel.add(label, BorderLayout.CENTER);
			f.frame.add(label, BorderLayout.CENTER);
	}
	
	
	public void addButtons(){
		 b.button_back2.addActionListener(this);
		 f.frame.add(b.button_back2);
		 
		 b.button_next2.addActionListener(this);
		 f.frame.add(b.button_next2);
		 
		 b.button_mainMenu.addActionListener(this);
		 f.frame.add(b.button_mainMenu);
	}
	
	 public void actionPerformed(ActionEvent e){
		 if(e.getSource() == b.button_back2);   
		    Programm p = new Programm();
		    
		 if(e.getSource() == b.button_next2){
			 ThirdPage t = new ThirdPage();
			 }

		 if(e.getSource() == b. button_mainMenu){			
			 f.frame.setVisible(false);
		 }	 
	 }
	 }
 
Zuletzt bearbeitet von einem Moderator:

Gucky

Top Contributor
Mit Container#remove(Component) kannst du eine bestimmte Komponente entfernen.

Aber ich muss sagen, dass ich nicht verstanden habe, was du meinst. ;)
 

Amir

Mitglied
Danke für deine Antwort. Durch das weiter Button soll sich das neue JPanel auf dem selben JFrame zeichnen lassen.
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
In beiden Klassen erbst du von JFrame .. das ist mmN nicht korrekt. Es braucht in der Regel nur einen JFrame und viele JPanels. Ein JFrame mit vielen JPanels lässt sich dabei zB. bequem mit dem CardLayout realisieren. Vielleicht solltest du dir mal dazu Tutorials oder Beispiele anschauen. Ich fand das immer sehr einfach zwischen den jeweiligen JPanels hin und her zu schalten.
 

Amir

Mitglied
danke für deine Antwort ich habe in Google sehr viel zu dem Thema gesucht, aber leider habe ich nichts gefunden, was mir weiter helfen kann. Ich wäre dir sehr dankbar wenn du mir das genauer erklären würdest und vielleicht ein Beispiel schreiben könntest. Denn ich muss dieses Projekt bis nächste Woche fertig kriegen und habe noch viel zu tun.
 

diggaa1984

Top Contributor
Oracle CardLayout Tutorial
CardLayoutDemo.java

Hi,
also das hier sieht erstmal viel aus, aber du musst dich nur auf folgendes konzentrieren:

in addComponentToPane wird das JPanel (cards) mit dem CardLayout erstellt und befüllt. Dazu werden 2 JPanels (card1 und card2) erzeugt und befüllt. Das eine mit 3 JButtons, das anderer mit einem JTextfield.

Danach werden diese beiden JPanels auf das cards-Panel gelegt, quasi ihrem Container, der dann die Anzeige steuern kann durch sein Layout. Beim hinzufügen wird allerdings noch ein String mitgegeben (BUTTONPANEL, bzw. TEXTPANEL) damit sind die einzelnen Cards eindeutig identifizierbar. Das ist notwendig um zu sagen, welche Card aktuell angezeigt werden soll.

Zusätzlich bekommt das Haupt-Panel noch eine JComboBox mit der du die aktuelle Card wechseln/auswählen kannst.

Beim Auswählen in der Combobox wird dann die Methode "itemStateChanged" aufgerufen (die Klasse fungiert als entsprechender Listener und wird der Combobox als solcher bekannt gemacht).
Die Methode setzt dann über das CardLayout die aktuelle Card und dazu benötigt Sie den String, welcher beim Hinzufügen der Card zum Layout genutzt wurde. In diesem Fall ist das genau der String der auch in der Combobox steht.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Bekomm altes Uni-Projekt in java nicht mehr zum laufen Java Basics - Anfänger-Themen 7
E Altes Bild bei repaint() löschen? Java Basics - Anfänger-Themen 10
M Neues Fenster öffnen altes schützen Java Basics - Anfänger-Themen 10
W Altes JDK 1.2 in Eclipse einbinden Java Basics - Anfänger-Themen 1
S Canvas verkleinern -> Altes Stück Canvas wird weitergezei Java Basics - Anfänger-Themen 4
frau-u Altes Problem: non-static method cannot be reference Java Basics - Anfänger-Themen 7
richis-fragen Optisch JPanel BorderLayout vertikaler Rand dicker als horizontaler Rand Java Basics - Anfänger-Themen 4
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
J JSON mit einem JPanel Java Basics - Anfänger-Themen 3
J Ein mit UI-Designer erstelltes JPanel einblenden Java Basics - Anfänger-Themen 0
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
C mehrere JPanel in ein JFrame bringen Java Basics - Anfänger-Themen 9
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
B Scrollbares Fenster (JScrollPane) mit JPanel scrollt nicht Java Basics - Anfänger-Themen 3
Zeppi JPanel responsive Grid Java Basics - Anfänger-Themen 0
J JPanel in JScrollPanel Java Basics - Anfänger-Themen 4
Elyt JPanel als HintergrundBild Java Basics - Anfänger-Themen 7
W 2 JPanel in einem JFrame Java Basics - Anfänger-Themen 4
B Wie kann man an ein JPanel eine Scrollbar anheften? Java Basics - Anfänger-Themen 8
O Swing JPanel Java Basics - Anfänger-Themen 4
CptK Klassen JPanel nach Ablauf der Spielzeit neuladen Java Basics - Anfänger-Themen 2
S JPanel wird nicht angezeigt Java Basics - Anfänger-Themen 1
D Animation JPanel Java Basics - Anfänger-Themen 1
M JLabels "verrutschen" beim übergeben von JPanel Java Basics - Anfänger-Themen 2
D Auf angeklicktes JPanel zugreifen Java Basics - Anfänger-Themen 5
D JPanel mehrere Formen zeichnen Java Basics - Anfänger-Themen 5
D JPanel passt die Größe nicht an Java Basics - Anfänger-Themen 22
Y Webinhalt JPanel Java Basics - Anfänger-Themen 6
D Erste Schritte JPanel verschiebt Fenster via setVisible Java Basics - Anfänger-Themen 5
Dechasa Interface JFrame mit mehreren Übereinander liegenden JPanel Java Basics - Anfänger-Themen 5
S JPanel variablenabhängig erstellen Java Basics - Anfänger-Themen 13
J Methoden Dinge auf einem JPanel paltzieren Java Basics - Anfänger-Themen 1
Z JPanel wird zweimal hinterinander gezeichnet.. Wieso? Java Basics - Anfänger-Themen 4
F JFrame resize verschiebt JPanel Java Basics - Anfänger-Themen 3
I A0-Format in jpanel anzeigen Java Basics - Anfänger-Themen 1
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
J Probleme mit eigenem JPanel (IDE Eclipse) Java Basics - Anfänger-Themen 4
S JPanel wird versetzt auf JFrame gelegt Java Basics - Anfänger-Themen 2
V jab ich eclipse verrückt gemacht :D ? array Jpanel, Jlabel Grafik Fehler / Frage Java Basics - Anfänger-Themen 5
R Focus auf JPanel im Thread Java Basics - Anfänger-Themen 9
I Problem mit JPanel Java Basics - Anfänger-Themen 0
B JPanel ändert die Hintergrundfarbe nicht Java Basics - Anfänger-Themen 2
F Threads funktionieren auf JPanel nicht Java Basics - Anfänger-Themen 1
C JPanel in MessageDialog Java Basics - Anfänger-Themen 1
B JPanel/JFrame in ein Applet umwandeln (Webfähig) Java Basics - Anfänger-Themen 7
S Inhalt von JPanel erst nach Resize sichtbar Java Basics - Anfänger-Themen 2
M Listener einerm JPanel hinzufuegen Java Basics - Anfänger-Themen 3
gamebreiti Methoden JPanel nach clearAll() und add neu zeichnen Java Basics - Anfänger-Themen 1
S vom JPanel aus durch Mouselistener Internet aufrufen Java Basics - Anfänger-Themen 6
Z JPanel bleibt leer Java Basics - Anfänger-Themen 2
E Bild per Verzeichnis/JFileChooser auf JPanel laden Java Basics - Anfänger-Themen 13
Q JPanel Java Basics - Anfänger-Themen 2
K Erste Schritte jpanel in einer klasse auslagern Java Basics - Anfänger-Themen 3
I Anfängerfrage JPanel repaint() Java Basics - Anfänger-Themen 6
N String auf JPanel bewegen Java Basics - Anfänger-Themen 6
K Erste Schritte Jframe Im Jpanel Java Basics - Anfänger-Themen 4
S Layout mit JPanel in JScrollPanel funktioniert nicht Java Basics - Anfänger-Themen 3
S JPanel drucken -> PrinterException Java Basics - Anfänger-Themen 2
B JPanel -JTable Java Basics - Anfänger-Themen 2
H JPanel Hintergrund transparent setzen? Java Basics - Anfänger-Themen 10
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
L zoomen aus jpanel Java Basics - Anfänger-Themen 7
P Bekomme in meinen JPanel nur eine JComponente angezeigt Java Basics - Anfänger-Themen 7
A Methoden repaint() zeichnet JPanel falsch Java Basics - Anfänger-Themen 3
R JFrame über einen JPanel Java Basics - Anfänger-Themen 5
I Veränderungen am JPanel vom JDialog aus Java Basics - Anfänger-Themen 6
F JPanel zu klein Java Basics - Anfänger-Themen 5
D GUI - Objekte in JPanel nach oben schieben Java Basics - Anfänger-Themen 2
S JPanel wird nicht eingefügt Java Basics - Anfänger-Themen 3
P Netbeans Platform - JLabel und JPanel setLocation Problem Java Basics - Anfänger-Themen 2
Kenan89 JPanel mit JTable Java Basics - Anfänger-Themen 9
I JPanel in JPanel Java Basics - Anfänger-Themen 2
A Zugriff auf Komponente innerhalb einer JPanel Java Basics - Anfänger-Themen 8
J Auf einem JPanel ein JFrame platzieren Java Basics - Anfänger-Themen 10
S JPanel anzeige Java Basics - Anfänger-Themen 2
propra Wie mache ich einem JPanel mein bereits instanziertes Model bekannt Java Basics - Anfänger-Themen 9
T Zugreifen auf JPanel Java Basics - Anfänger-Themen 4
K JPanel auslagern Java Basics - Anfänger-Themen 9
J Paint Methode von JPanel aufrufen Java Basics - Anfänger-Themen 15
T Tastendruck simulieren in JPanel Java Basics - Anfänger-Themen 3
P JPanel in JTable einfügen Java Basics - Anfänger-Themen 23
E Erste Schritte Objekte werden in JPanel angedockt und maximiert Java Basics - Anfänger-Themen 7
M Componenten auf JPanel anzeigen Java Basics - Anfänger-Themen 2
F JPanel als JPG - weisse Fläche Java Basics - Anfänger-Themen 9
L Image laden und auf jPanel ausgeben Java Basics - Anfänger-Themen 7
M JLabel auf JPanel positionieren Java Basics - Anfänger-Themen 8
M Verständnisfrage zu JPanel Java Basics - Anfänger-Themen 3
M MouseListener funkioniert auf JPanel nicht Java Basics - Anfänger-Themen 8
D JPanel + ein JLabel Java Basics - Anfänger-Themen 8
B JPanel-Oberfläche speichern Java Basics - Anfänger-Themen 9
X JTable in JPanel in JTabbedPane mouseevent von jtable kommt nicht durch Java Basics - Anfänger-Themen 3
P GUI, JPanel Java Basics - Anfänger-Themen 7
H JPanel in andere Klasse übergeben Java Basics - Anfänger-Themen 7
D Grösse eines JPanel hinsichtlich LayoutManager festlegen Java Basics - Anfänger-Themen 4
B JPanel über anderem JPanel Java Basics - Anfänger-Themen 6
F zeichnen in JPanel Java Basics - Anfänger-Themen 7
F Unterschied JPanel und JFrame Java Basics - Anfänger-Themen 5
U JPanel dynamisch gestalten Java Basics - Anfänger-Themen 7
H Zeichnen in JPanel Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben