Hallo zusammen,
habe da mal eine Frage.
ich bastel ein bisschen mit Swing rum.
Ich möchte über ein JMenuItem in dem selben Fenster eine Art Inhalt aufrufen.
So soll es funktionieren:
So im google habe ich schon mal geguckt aber finde nix richtiges was ich brauche.
Hier mal mein Code:
So also recht am Schluss habe ich es mal probiert. Aber so kann es ja nicht gehen, weil ich ja irgendwie das add(l_info) in die Methode index reinbekommen muss. Aber wie ?
Vielleicht habt ih ne Lösung oder mache ich es vielleicht zu kompliziert ?
Gruss Dari
edited by thE_29: Anderes Thema gewählt (aussagekräftig!!)
habe da mal eine Frage.
ich bastel ein bisschen mit Swing rum.
Ich möchte über ein JMenuItem in dem selben Fenster eine Art Inhalt aufrufen.
So soll es funktionieren:
So im google habe ich schon mal geguckt aber finde nix richtiges was ich brauche.
Hier mal mein Code:
Code:
/*
* Created on 28.02.2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package Frames;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class index extends JFrame implements ActionListener
{
JLabel l_info = new JLabel("Info 2005");
JMenuBar menuBar = new JMenuBar();
JMenu menu1 = new JMenu("Datei");
JMenuItem mi1_1 = new JMenuItem("Neu");
JMenuItem mi1_2 = new JMenuItem("Drucken");
JMenuItem mi1_3 = new JMenuItem("Beenden");
JMenu menu2 = new JMenu("Bearbeiten");
JMenuItem mi2_1 = new JMenuItem("Kopieren");
JMenuItem mi2_2 = new JMenuItem("Einfügen");
JMenuItem mi2_3 = new JMenuItem("Löschen");
JMenu menu3 = new JMenu("Applets");
JMenuItem mi3_1 = new JMenuItem("Applet 1");
JMenuItem mi3_2 = new JMenuItem("Applet 2");
JMenu menu4 = new JMenu("Hilfe");
JMenuItem mi4_1 = new JMenuItem("Info");
Font f1 = new Font ("Arial" ,Font.PLAIN, 16);
public index (String title)
{
menu1.setFont(f1);
menu2.setFont(f1);
menu3.setFont(f1);
menu4.setFont(f1);
menuBar.add(menu1);
menu1.add(mi1_1);
menu1.add(mi1_2);
menu1.add(mi1_3);
menuBar.add(menu2);
menu2.add(mi2_1);
menu2.add(mi2_2);
menu2.add(mi2_3);
menuBar.add(menu3);
menu3.add(mi3_1);
menu3.add(mi3_2);
menuBar.add(menu4);
menu4.add(mi4_1);
setJMenuBar(menuBar);
mi1_1.addActionListener(this);
mi1_2.addActionListener(this);
mi1_3.addActionListener(this);
mi2_1.addActionListener(this);
mi2_2.addActionListener(this);
mi2_3.addActionListener(this);
mi3_1.addActionListener(this);
mi3_2.addActionListener(this);
mi4_1.addActionListener(this);
// Code zum schliessen
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}});
setTitle (title);
setSize(300,300);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==mi1_3)
{
System.exit(0);
}
if (e.getSource()==mi3_1)
{
new Frame1 ("Frame1.class");
}
if (e.getSource()==mi3_2)
{
new Frame2 ("Frame2.class");
}
// JMenuItem "Info"
if (e.getSource()==mi4_1)
{
// Methode seiten wird aufegrufen mit Attribut "Info"
seiten("Info");
}
}
// Methode zum ausgeben eines Labels.
public void seiten(String wert)
{
if(wert.equals("Info"))
{
add(l_info);
}
}
public static void main(String[] args)
{
new index ("MenuBar");
}
}
So also recht am Schluss habe ich es mal probiert. Aber so kann es ja nicht gehen, weil ich ja irgendwie das add(l_info) in die Methode index reinbekommen muss. Aber wie ?
Vielleicht habt ih ne Lösung oder mache ich es vielleicht zu kompliziert ?
Gruss Dari
edited by thE_29: Anderes Thema gewählt (aussagekräftig!!)