JMenu spinnt

Status
Nicht offen für weitere Antworten.

Düark

Aktives Mitglied
Hallo, ich habe irgentwie Probleme mit meinem Menübalken:
Klicke ich ein Menü an, öffnet es sich (logisch 😀 )
Will ich nun mit dem Mauszeiger runter zu den einzelnen Menüpunkten gehen, so klappt das Menü wieder zu, geh ich dann wieder hoch, klappt es wieder auf, ohne das ich nochmal auf das Menü klicken muss. Danach funktioniert es dann ohne Probleme...
Keine Ahnung woran das liegt, ich hoffe ihr könnt mir helfen...


Code:
public class STMenuBar extends JMenuBar implements ActionListener{
		
	private TableFrame frame;
	JMenu menu;
	JMenuItem menuItem;
	JMenuItem menuItemRefresh;
	JMenuItem menuItemLogOff;
	
	public STMenuBar(TableFrame frame)
	{
		this.frame=frame;		

////////Menupunkt1
		menu=new JMenu("Project");
		add(menu);
		
		menuItem=new JMenuItem("Open...");
		menuItem.addActionListener(this);
		menuItem.setActionCommand("Open");
		menu.add(menuItem);
		menu.addSeparator();
		
		menuItemRefresh=new JMenuItem("Refresh...");
		menuItemRefresh.addActionListener(this);
		menuItemRefresh.setActionCommand("Refresh");
		menu.add(menuItemRefresh);
		
		menuItemLogOff=new JMenuItem("Log off");
		menuItemLogOff.addActionListener(this);
		menuItemLogOff.setActionCommand("Log off");
		menu.add(menuItemLogOff);
		menu.addSeparator();
		
		menuItem=new JMenuItem("Exit");
		menuItem.addActionListener(this);
		menuItem.setActionCommand("Exit");
		menu.add(menuItem);
////////Menupunkt2	
		menu=new JMenu("Edit");
		add(menu);
		
		menuItem=new JMenuItem("Server Configuration");
		menuItem.addActionListener(this);
		menuItem.setActionCommand("server");
		menu.add(menuItem);

	} // end of constructor
///////////////////////////////////////////////////////////////////////////////
	public void actionPerformed (ActionEvent e)
	{
		String acom=e.getActionCommand();
		if(acom.equals("Exit"))
			System.exit(0);
		
		if(acom.equals("Open"))
		{
			frame.openNewProject();
		}// end if
		
		if(acom.equals("Refresh"))
		{
			frame.refreshData();
		}
		
		if(acom.equals("Log off"))
		{
			frame.logOff();
		}
		
		if(acom.equals("server"))
		{
			frame.changeServer();
		}
		
	}// end of actionPerformed()
///////////////////////////////////////////////////////////////////////////////
	public void setRefreshItem(boolean bValue)
	{
		menuItemRefresh.setEnabled(bValue);
	}// end of setRefreshItem()

///////////////////////////////////////////////////////////////////////////////
	public void setLogOffItem(boolean bValue)
	{
		menuItemLogOff.setEnabled(bValue);
	}// end of setLogOffItem()
}// end of class StMenuBar

Danke schonmal !
 
Durch das Posting eben ist mir eine Idee gekommen, und zwar tritt dieses Phänomen immer auf, wenn ich ein Dialogfeld öffne... Vieleicht nützt das Euch was, ich kann damit nicht viel anfangen 🙁
 
Das ich kein TableFrame habe, hab ich es mit nem normalem JFrame versucht (ich denke mal, das TableFrame davon abgeleitet ist...) und nachdem ich die Methoden logOff() usw. auskommentiert habe ging es bei mir!
 
Richtig, TableFrame ist von JFrame abgeleitet, und unter normalen umständen geht es bei mir ja auch, nur wenn ich ein Dialogfeld (JDialog) öffne, dieses wieder schliesse, und dann ins Menü gehe, tritt das Problem auf.
Das JDialogfeld blende ich übrigens nur mit hide() aus, weil ich danach noch funktionen davon aufrufe, habe es aber auch schon mit dispose() versucht, kein Ergebnis!
 
Hmm, hab das gerade auf einem anderen OS getestet, der Fehler trat unter windows NT auf, unter 2000 nicht... Da kann man wohl nix machen und dann ist es auch nicht weiter schlimm...
danke trotzdem für alle Bemühungen 🙂
 
Düark hat gesagt.:
Hmm, hab das gerade auf einem anderen OS getestet, der Fehler trat unter windows NT auf, unter 2000 nicht... Da kann man wohl nix machen und dann ist es auch nicht weiter schlimm...

hmm .. also mich würde schon interessieren woran das jetzt genau liegt ...
wenn du zeit und lust hast, dann könntest du vielleicht noch den ein oder anderen test durchführen .. bisschen mitloggen etc.

danke :wink:
 
scheint allerdings jetzt nicht am OS zu liegen (hab win2k) sondern an der JVM. Mit 1.4.2_4 hab ich das Problem, unter 1.4.2_10 nicht .... evtl. also ein Bug der behoben worden ist ...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben