Hilfe Um Bitte Zu Blöd Für Java

SirWayne

Erfahrenes Mitglied
Also ich habe ein Frame in diesem frame ist eine menüleiste jetzt sollen die einzelne MenuItems weitere seiten aufrufen(Panels) aber meine Pnales werden einfach nicht angezeigt und ich weiß nicht warum meine listener funktionieren hier ein kleines beispiel mit code

Also wenn man auf das menüItenm ID drück sollte ein Panel mit weißem hintergund erscheinen aber das funktioniert schon nicht hab die 2 betroffenen klassen eingefügt der listener funktioniert einwandfrei....


Code:
import java.awt.*;
import javax.swing.*;
import javax.swing.WindowConstants;
import java.awt.event.*;

public class Menu extends JFrame
{
 Container cp=this.getContentPane() ;
 Anzeigen a;
 Graphics g=this.getGraphics();
 public Menu(String titel)
 {
  super(titel);
  
  JMenuBar menubar=new JMenuBar();
  setJMenuBar(menubar);

  cp.setLayout(null);
  
  JMenu menu1=new JMenu("Bilder anzeigen");
  JMenu menu2=new JMenu("Bild hinzufügen");
  JMenu menu3=new JMenu("Bild löschen");

  
  JMenu umenu1=new JMenu("Suchen nach");
  JMenuItem id=new JMenuItem("ID");
  id.addActionListener(new ActionListener() {
  
****************************
*************************** WARUM GEHT DAS HIER NICHT?DAS FRAME ZEIGT DAS PANEL NICHT AN!
*********************
*************
 public void actionPerformed(ActionEvent e )
   {
     Anzeigen a=new Anzeigen();
     a.setVisible(true);
     cp.add(a);

   }

  } );
  JMenuItem beschreibung=new JMenuItem("Beschreibung")  ;
  JMenuItem sonst=new  JMenuItem("sonst");
  

  

  
  menu1.add(umenu1);
  umenu1.add(id);
  umenu1.add(beschreibung);
  umenu1.add(sonst);
  menubar.add(menu1);
  menubar.add(menu2);
  menubar.add(menu3);


  setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
         {
             this.addWindowListener(new WindowListener()
                     {

                        public void windowOpened(WindowEvent e)
                        {
                            // TODO Auto-generated method stub

                        }

                        public void windowClosing(WindowEvent e)
                        {
                         System.out.println("WINDOW CLOSING");

                        }

                        public void windowClosed(WindowEvent e)
                        {



                        }

                        public void windowIconified(WindowEvent e)
                        {
                            // TODO Auto-generated method stub

                        }

                        public void windowDeiconified(WindowEvent e)
                        {
                            // TODO Auto-generated method stub

                        }

                        public void windowActivated(WindowEvent e)
                        {
                            // TODO Auto-generated method stub

                        }

                        public void windowDeactivated(WindowEvent e)
                        {
                            // TODO Auto-generated method stub

                        }

                     });
                     }
  setSize(900,600);
  setVisible(true);

  
  
 }
 
 public void paint()
 {
   JTextField a=new JTextField();
   a.setBounds(100,500,500,500);
   this.add(a);
 }
 


 public static void main(String[] args)
 {
  Menu fenster=new Menu("Bilder Programm");
 }
}


 class Anzeigen extends JPanel
 {
   public Anzeigen()
   {
     this.setBackground(Color.WHITE);
     setSize(500,500);
   }
 }

na ja ich hoffe es weiß jemand wie sowas funktioniert ich weiß es ist kein sinvolles beispiel aber ich denke mein Problem ist klar geworden....Ich bin mir sicher ,dass ich sowas schon mal gemahct und es geklappt hat!!

Danke für jede HILFE
 
Zuletzt bearbeitet:
Hallo,

bei mir funktioniert dein Beispiel ohne Problem. Klickt man auf Bilder anzeigen -> Suche nach -> ID so wird ein weißes Panel im Hauptframe angezeigt.

Änder doch mal die Farbe des Panels auf RED oder so, dann sieht man das deutlicher als bei weißer Farbe. Mache ich immer so wenn ich mir sicher sein will, dass wirklich das erscheint was ich sehen wollte. Später wenn alles funktioniert änder ich dann die Farbe auf die die ich wirklich haben möchte.
 
Zurück