Menüleiste erstellen

Schau Dir mal den zweiten Post in diesem Thread an, da steht das Meiste schon drin (Z. 26 und 33ff) ! ! !

Desweiteren verweise ich mal lustig auf :google: oder auf Links, wie ich sie hier in diesem Thread auch schon gepostet habe ! ! !

hmm ... und ganz ehrlich: ein bisschen mehr Eigeninitiative könnte nicht schaden :(

Versuche es mal erst alleine hin zu bekommen ! Nur so lernst Du dann auch was dabei! Wenn Du dann eine konkrete Frage zu Deinen Sourcen hast, kannst Du Dich hier gerne melden ;)

Ich glaube nicht, dass hier irgendwer Lust hat, Dich jetzt die nächsten Tage/Wochen/Monate durch Dein Projekt zu führen und Dir für jeden lax geäußerten Wunsch Code zuzuposten ..... ;-]

Gruß
Klaus
 
Ich google ja andauernd und Versuche viel rum, aber wenns nicht klappt frage ich eben hier. Ich Frage im Moment eh nur so viel, weil mein Kollege diese Woche nicht da ist, welcher mir dabei hilft. Aber ich wollte diese Woche trotzdem was schaffen, und es nicht einfach links liegen lassen;)
Also keine Angst, ihr müsst mich keine Wochen/Monate mehr ertragen:D
 
Hallo,
ich habe dort etwas gelesen, ist echt nicht schlecht für anfänger. Wenn ich nun auf einen meiner Menüpujnkte klicke, kommt immer folgender Fehler in der console.

Java:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at com.six.calendar.pr.MainCalendarFrame.actionPerformed(MainCalendarFrame.java:143)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.AbstractButton.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Und ich weiß nicht woran das liegt:-(
 
Moin,

was genau steht denn in der Zeile, wo die Exception auftritt :confused: (MainCalendarFrame.java:143)

Etwas Code wäre schon gut ;-]

Gruß
Klaus
 
ok, demnach ist "JMenuItem" == NULL .....

Poste doch einfach den gesamten Code (bitte mit Code-Tags), damit man den Zusammenhang sehen sehen kann ! ! !

Gruß
Klaus
 
Das ist der gesamte Code. Und dort habe ich angegeben dass item1_Menu1 eine Funktion bekommen soll.
Java:
package com.six.calendar.pr;
 
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.EventObject;

import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

 
 
 
public class MainCalendarFrame extends JFrame implements ActionListener   {
	
    /**
	 * 
	 */
	
	private static final long serialVersionUID = 1L;

	public MainCalendarFrame() {
        super("TeamCal Plus");
    }
   
    public void init() {
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        //getContentPane().setLayout(new BorderLayout());
        JDesktopPane content = new JDesktopPane();
        setContentPane(content);
        //getContentPane().add(content, BorderLayout.CENTER);
        MitarbeiterPanel maPanel = new MitarbeiterPanel();
        maPanel.init();
        JInternalFrame maFrame = new JInternalFrame("Mitarbeiter", true, true, true, true);
        maFrame.getContentPane().setLayout(new BorderLayout());
        maFrame.getContentPane().add(maPanel, BorderLayout.CENTER);
        maFrame.setSize(200, 300);
        maFrame.setVisible(true);
        content.add(maFrame);
       
        this.initMenu();
    }
   
    public void initMenu() {
      // Erzeugen einer Menüleiste
      JMenuBar menuBar = new JMenuBar();
       
      // Erzeugen von 3 Menüpunkten für die Menüleiste
      JMenu MenuePkt1 = new JMenu("TeamCal Plus");
      JMenu MenuePkt2 = new JMenu("Bearbeiten");
      JMenu MenuePkt3 = new JMenu("Ansicht");
      JMenu MenuePkt4 = new JMenu("Optionen");
      JMenu MenuePkt5 = new JMenu ("Hilfe");
       
      // Erzeugen einzelner Menüpunkte
      // Menüpunkt 1
      JMenuItem item1_Menu1 = new JMenuItem( "Anmelden", new ImageIcon("http://www.tutorials.de/forum/images/login.png"));
      item1_Menu1.addActionListener(this);
      item1_Menu1.setActionCommand("Anmelden");

      
      //Menüpunkt 2
      JMenuItem item1_Menu2 = new JMenuItem( "Mitarbeiter hinzufügen", new ImageIcon("http://www.tutorials.de/forum/images/ico_add.png"));
      item1_Menu2.addActionListener(this);
      
      JMenuItem item2_Menu2 = new JMenuItem( "Mitarbeiter bearbeiten", new ImageIcon("http://www.tutorials.de/forum/images/tools.jpg"));
      item2_Menu2.addActionListener(this);
      JMenuItem item3_Menu2 = new JMenuItem( "Mitarbeiter löschen", new ImageIcon("http://www.tutorials.de/forum/images/delete.jpg")); 
      item3_Menu2.addActionListener(this);
      
      //Menüpunkt 3
      JMenuItem item1_Menu3 = new JMenuItem( "Kalender", new ImageIcon("http://www.tutorials.de/forum/images/kalender.png"));
      item1_Menu3.addActionListener(this);
      JMenuItem item2_Menu3 = new JMenuItem( "Jahreskalender", new ImageIcon("http://www.tutorials.de/forum/images/jahreskalender.png"));
      item2_Menu3.addActionListener(this);
      
      //Menüpunkt 4
      JMenuItem item1_Menu4 = new JMenuItem ( "Nutzer", new ImageIcon("http://www.tutorials.de/forum/images/nutzer.png"));
      item1_Menu4.addActionListener(this);
      JMenuItem item2_Menu4 = new JMenuItem ( "Gruppen", new ImageIcon("http://www.tutorials.de/forum/images/gruppen.png"));
      item2_Menu4.addActionListener(this);
      JMenuItem item3_Menu4 = new JMenuItem ( "Gruppenzuordnung", new ImageIcon("http://www.tutorials.de/forum/images/gruppenzuordnung.png"));
      item3_Menu4.addActionListener(this);
      JMenuItem item4_Menu4 = new JMenuItem ( "Abwesenheitstypen", new ImageIcon("http://www.tutorials.de/forum/images/abwesenheitstypen.png"));
      item4_Menu4.addActionListener(this);
      JMenuItem item5_Menu4 = new JMenuItem ( "Feiertage", new ImageIcon("http://www.tutorials.de/forum/images/feiertage.png"));
      item5_Menu4.addActionListener(this);
      JMenuItem item6_Menu4 = new JMenuItem ( "Datenbankverwaltung", new ImageIcon("http://www.tutorials.de/forum/images/datenbankverwaltung.png"));
      item6_Menu4.addActionListener(this);
      
      //Menüpunkt 5
      JMenuItem item1_Menu5 = new JMenuItem ( "Über TeamCal Plus", new ImageIcon("http://www.tutorials.de/forum/images/teamcal.png"));
      item1_Menu5.addActionListener(this);
      
      // die neuen Einträge den jeweiligen Menüs hinzufügen!
      //1
      MenuePkt1.add( item1_Menu1 );
      
      //2 
      MenuePkt2.add( item1_Menu2 );
      MenuePkt2.add( item2_Menu2 );
      MenuePkt2.add( item3_Menu2 );
      
      //3 
      MenuePkt3.add( item1_Menu3 );
      MenuePkt3.add( item2_Menu3 );
      
      //4
      MenuePkt4.add( item1_Menu4);
      MenuePkt4.add( item2_Menu4);
      MenuePkt4.add( item3_Menu4);
      MenuePkt4.add( item4_Menu4);
      MenuePkt4.add( item5_Menu4);
      MenuePkt4.add( item6_Menu4);
      
      //5
      MenuePkt5.add( item1_Menu5);
         
      // Hinzufügen der 5 Menüpunkte zur Menüleiste
      menuBar.add( MenuePkt1 );
      menuBar.add( MenuePkt2 );
      menuBar.add( MenuePkt3 );
      menuBar.add( MenuePkt4);
      menuBar.add( MenuePkt5);
       
      // TODO das Hinzufügen der Menüleiste zu Deinem Projekt ...
      this.setJMenuBar(menuBar);
   }

	@SuppressWarnings("null")
	@Override
	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub
		
		EventObject evt = null;
		if( evt.getSource() instanceof JMenuItem )
        { 
			String item1_Menu1 = ((ActionEvent) evt).getActionCommand();
			
			 if( item1_Menu1.equals("Beenden") )
	            {
	                String msg = new String( "Möchten Sie das Programm beenden ?" );
	                Component AppWindow = null;
					int retVal = JOptionPane.showConfirmDialog( AppWindow, msg, "Beenden",
	                        JOptionPane.YES_NO_OPTION);
	                if( retVal == JOptionPane.YES_OPTION )
	                {   
	                    System.exit(0);
	                }
	            } /* if */
	        // ...
	        } /* if */
	    } /* actionPerformed() */
	{ /* class AppMenue */
	}
}
 
Zuletzt bearbeitet:
Klammere Java-Code bitte immer, indem Du die Begriffe CODE durch JAVA ersetzt (!)
Hierdurch werden u. a. auch die Zeilennummern dargestellt und man muss nicht lange durch zählen .....
Zudem ist dann die farbliche Unterlegung vorhanden!
Dass kann Du übrigens auch durch "Ändern" eines älteren Posts erledigen.

Dein Problem ist doch offensichtlich:
Java:
EventObject evt = null;
if( evt.getSource() instanceof JMenuItem )
// .....
Du setzt "evt" auf NULL und versucht dann damit was zu machen ... also bekommst Du an der Stelle die NullPointerException (!)

Wo kommt den dieser Code her?
Event. musst Du das Event-Objekt mit übergeben ...

Gruß
Klaus
 

Neue Beiträge

Zurück