JMenu + ActionPerformed + ConntentPane

Status
Nicht offen für weitere Antworten.

J€ns

Mitglied
Hallo Leute,

ich habe ja lange nichts mehr von mir hören lassen, aber jetzt benötige ich noch mal eure Hilfe.

Ich habe folgendes Problem und zwar habe ich ein JFrame, JMenu und mehrere Klassen, nun möchte ich wenn ich in dem JMenu etwas anklicke, dass dann das ContentPane einer anderen Klasse aufgerufen wird.

In meiner Methode ActionPerformed kann ich auch durch klicken dieses Eintrages ein neues fenster erzeugen, aber ich bekomme es einfach nicht hin, den Inhalt aus diesem fenster nur ganz allein in diesem Frame wieder zu geben.

Ich hoffe ihr könnt mir helfen, denn ich habe schon auf einigen Seiten gegoogelt, aber nichts gefunden, was mir helfen könnte.

Gruß Jens

Code:
package gui;

public class GuiStart
{
	static GuiJFrame fenster;
	public static void main (String [] args)
	{
		fenster = new GuiJFrame();
		fenster.setVisible(true);
	}
}

Code:
package gui;

import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.*;

public class GuiJFrame extends JFrame
{
	private Container cp;
	private JMenuBar menubar;	
	private GuiJMenu menu;

	public GuiJFrame()
	{
		super("dfsdf");
		this.setSize(200, 200);
		cp = getContentPane();
		cp.setLayout(new GridLayout(3, 1));
		
		menu = new GuiJMenu();
		
		menubar = new JMenuBar();
		setJMenuBar(menubar);
		menubar.add(menu.menuFeldA);
		menubar.add(menu.menuFeldB);
	}
}

Code:
package gui;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JMenu;
import javax.swing.JMenuItem;

public class GuiJMenu extends GuiJFrame implements ActionListener
{
	public JMenu menuFeldA;
	public JMenu menuFeldB;
	private JMenuItem menuFeldACItem;
	private JMenuItem menuFeldAAItem;
	private JMenuItem menuFeldABItem;
	private JMenuItem menuFeldBAItem;
	private JMenuItem menuFeldBBItem;
	private JMenuItem menuFeldBCItem;
	private abcDe fenster;
	private GuiJFrame guiJFrame;
	
	public GuiJMenu()
	{
		menuFeldA = new JMenu("FeldA");
		menuFeldB = new JMenu("FeldB");

		menuFeldAAItem = new JMenuItem("FeldAA");
		menuFeldAAItem.addActionListener(this);
		menuFeldA.add(menuFeldAAItem);

		menuFeldABItem = new JMenuItem("FeldAB");
		menuFeldABItem.addActionListener(this);
		menuFeldA.add(menuFeldABItem);
		
		menuFeldACItem = new JMenuItem("FeldAC");
		menuFeldACItem.addActionListener(this);
		menuFeldA.add(menuFeldACItem);
		
		menuFeldBAItem = new JMenuItem("FeldBB");
		menuFeldBAItem.addActionListener(this);
		menuFeldB.add(menuFeldBAItem);

		menuFeldBBItem = new JMenuItem("FeldBB");
		menuFeldBBItem.addActionListener(this);
		menuFeldB.add(menuFeldBBItem);
		
		menuFeldBCItem = new JMenuItem("FeldBC");
		menuFeldBCItem.addActionListener(this);
		menuFeldB.add(menuFeldBCItem);
	}

	public void actionPerformed(ActionEvent ae) {

		Object quelle = ae.getSource();
		
		if (quelle == menuFeldAAItem)
		{
			System.out.println("dsgjfsdjhg");
			fenster = new abcDe();
			
			guiJFrame.getContentPane();
			guiJFrame.setContentPane(fenster.cp);			
		}
		
		if (quelle == menuFeldACItem)
		{
			System.exit(0);		
		}
	}
}

Code:
package gui;

import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

public class abcDe extends JFrame
{
	public Container cp;
	
	public abcDe()
	{
		super("lalala");
		this.setSize(200, 200);
		cp = getContentPane();
		cp.add(new JButton("dfdsf"));
		cp.setLayout(new GridLayout(3, 1));
	}
}
 

J€ns

Mitglied
Auch wenn das hier vielleicht im falschen berreich ist, kann mir denn keiner helfen?

Liebe Grüße Jens

Danke schonmal :###
 

André Uhres

Top Contributor
Code:
public class GuiJFrame extends JFrame {
...
    public GuiJFrame() {
...
        menu = new GuiJMenu(this);	//<------------------
...
    }
}

...
public class GuiJMenu implements ActionListener {//<---------
...
    public GuiJMenu(GuiJFrame guiJFrame) {//<----------------
        this.guiJFrame = guiJFrame;	//<------------------
...
    }
    public void actionPerformed(ActionEvent ae) {
...
            guiJFrame.setContentPane(fenster.cp);
            guiJFrame.validate();	//<------------------
...
    }
}
 

J€ns

Mitglied
Hallo,

durch die Hilfe von André hat es geklappt.

Ich bedanke mich hierfür recht herzlich und wünsche allen noch ein schönes Wochenede :)

:applaus:

Lg Jens
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R JMenu/JMenuItem Probleme Java Basics - Anfänger-Themen 2
E JMenu ActionListener reagiert nicht? Java Basics - Anfänger-Themen 6
Kenan89 JMenu Eigenschaften Java Basics - Anfänger-Themen 7
jgh gifs für JMenu Java Basics - Anfänger-Themen 8
B JMenu Position bestimmen Java Basics - Anfänger-Themen 7
A ActionListener im JMenu - Problem Java Basics - Anfänger-Themen 2
S JMenu schliessen Java Basics - Anfänger-Themen 2
M (Sub-)Anwendung schließen aus JMenu Java Basics - Anfänger-Themen 6
G JMenu "einklappen" Java Basics - Anfänger-Themen 2
M JMenu im Hintergrund Java Basics - Anfänger-Themen 8
G JFrame + JMenu aus einer anderen Klasse ableiten Java Basics - Anfänger-Themen 5
G 2-spaltiges JMenu Java Basics - Anfänger-Themen 3
P JMenu ? Java Basics - Anfänger-Themen 5
V JMenu funktioniert nicht richit Java Basics - Anfänger-Themen 4
frau-u JMenu mit extends JPanel? Java Basics - Anfänger-Themen 4
R actionPerformed wird nicht ausgeführt Java Basics - Anfänger-Themen 5
F actionPerformed() zur richtigen Zeit Java Basics - Anfänger-Themen 6
D JLabel ändern in actionperformed Java Basics - Anfänger-Themen 2
D KeyListener nicht mehr aktiv nach ActionPerformed Java Basics - Anfänger-Themen 2
S Wie werte vergleichen, die in actionPerformed-Methode hängen ? Java Basics - Anfänger-Themen 4
M Threads Thread.Sleep Problem im Zusammenhang mit GUI/ActionPerformed-Methode Java Basics - Anfänger-Themen 4
J In actionPerformed Zugriff auf öffentlich Methoden der Klasse Java Basics - Anfänger-Themen 4
Z Kann actionPerformed(ActionEvent) nicht überschreiben Java Basics - Anfänger-Themen 8
J Werte an Methode übergeben und gleichzeitig ActionPerformed einbeziehen. Java Basics - Anfänger-Themen 14
M OOP ActionPerformed Methode aus anderer AP aufrufen? Java Basics - Anfänger-Themen 5
M Variablen via actionPerformed mit Buttons ändern Java Basics - Anfänger-Themen 7
R Wie es anstellen das ActionPerformed einen Wert zurückgibt? Java Basics - Anfänger-Themen 8
S Objekt an actionPerformed Methode übergeben Java Basics - Anfänger-Themen 7
A lokale Variable innerhalb "actionPerformed()" Java Basics - Anfänger-Themen 10
S actionPerformed(ActionEvent ev) Java Basics - Anfänger-Themen 4
Houly while Schleife im ActionPerformed Event Java Basics - Anfänger-Themen 8
R ActionPerformed: Methode ausführen Java Basics - Anfänger-Themen 3
0 Fehlermeldung: SteuerungsPanel$ButtonHandler.actionPerformed(Steu erungsPanel.java: Java Basics - Anfänger-Themen 2
R Thread in ActionPerformed-Methode unbekannt? Java Basics - Anfänger-Themen 4
R Wie getText mit actionPerformed verwenden? Java Basics - Anfänger-Themen 3
C actionPerformed(null) Java Basics - Anfänger-Themen 6
D Auf Buttondruck (actionperformed) painten Java Basics - Anfänger-Themen 5
H Frage zur Methode: actionPerformed Java Basics - Anfänger-Themen 2
A ActionPerformed Methode ohne Rückgabewert Java Basics - Anfänger-Themen 12
I actionPerformed funktioniert nicht Java Basics - Anfänger-Themen 13
DeeDee0815 JRadioButton, actionPerformed und Textfelder Java Basics - Anfänger-Themen 2
B Exception Handling in der ActionPerformed-Methode Java Basics - Anfänger-Themen 7
S Java GUI: Probleme mit EventListener und actionPerformed Java Basics - Anfänger-Themen 3
B actionPerformed und ComboBoxen Java Basics - Anfänger-Themen 7
D Fehlersuche actionPerformed Java Basics - Anfänger-Themen 6
S actionPerformed und JCheckBox Java Basics - Anfänger-Themen 4
N ActionListener - ActionPerformed - if soure= .... Java Basics - Anfänger-Themen 6
M Übergeben einer Variable an actionPerformed(ActionEvent e)? Java Basics - Anfänger-Themen 5
U actionPerformed - Source verständlich Java Basics - Anfänger-Themen 8
C Problem mit actionPerformed Java Basics - Anfänger-Themen 4

Ähnliche Java Themen


Oben