Menuleiste,

KingOfExceptions

Bekanntes Mitglied
Hallo Leute, ich hab mal eine frage zu menüleisten: Ich habe eine Jmenüleiste gemacht und wenn ich auf ein JMenuItem klicke , möchte ich dass sich das JPanel im JFrame verändert. bisher hab ich im netz nur beispiele mit menuleisten gesehen beidenen die console dann irgendwas ausgibt. z.B. : Sie haben xxxx ausgewählt.
Bisher sieht mein code so aus.

Java:
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;


class OldDaten extends JFrame  implements ActionListener
{
	Scanner scan=new Scanner(System.in);
	private static final long serialVersionUID = 1L;

	static OldDaten frm=new OldDaten ("Die Oldtimer Datenbank");
	
	Label nummer=new Label("Seriennummer");
	JLabel worte=new JLabel("Schlagwörter");
	JPanel panel=new JPanel();
	
	OldDaten(String title)
	{
		super(title);
		setLayout( new FlowLayout() );
		add(panel);
		
		JMenu datei=new JMenu("Datei");
		add(datei);
		JMenuItem exit=new JMenuItem("Beenden");
		datei.add(exit);
		
		JMenu neusuche=new JMenu("Neue Suche");
		add(neusuche);
		JMenuItem seriennummer=new JMenuItem("Seriennummer");
		neusuche.add(seriennummer);
		JMenuItem schlagworte=new JMenuItem("Schlagwörter");
		neusuche.add(schlagworte);
		
		seriennummer.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				addieren();
			}
		}
		  );
		
		schlagworte.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				System.out.println("BUTTON SCHLAGWÖRTER IS PRESSED");
			}
		}
		);
		
		exit.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				System.exit(0);
			}
		}
		  );
		
		JMenuBar leiste=new JMenuBar();
		setJMenuBar(leiste);
		leiste.add(datei);
		leiste.add(neusuche);
	}
	
	public static void main(String[]args)
	{
		frm.setSize( 1024, 680);
		frm.setResizable(false);
		
		frm.setLocation(100,10);
		frm.setVisible( true );
		
	}


	public void addieren()
	{
                frm.add(panel);
		add(nummer);
		panel.add(nummer);
		panel.repaint();
	}	  
	  
}
 
Zuletzt bearbeitet:
G

Gast2

Gast
Du willst dass sich der Inhalt deines Frames ändert? Also das Panel innen drin austauschen?
Dann schau dir mal das CardLayout an.
 
G

Gast2

Gast
ein repaint hilft in diesem Fall nicht.
wenn du Komponenten entfernst oder hinzufügst musst du invalidate/validate aufrufen um das Fenster zu aktualisieren. Je nachdem wieviel sich an deinem Fenster ändert solltest du dir mal das CardLayout anschauen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U menuleiste.getVisible(); Java Basics - Anfänger-Themen 2

Ähnliche Java Themen


Oben