Hej
Jeg har et problem med min Jmenu. Jeg har lavet en menu som en normal
menu i fx. IE. dvs. vælger man et menupunkt, kommer menuen, og klikker
man et andet sted på skræmen forsvinder den. Mit problem er bare at
klikker man på en JmenuItem i selve menuen fanger den ikke min
actionlistener på JmenuItem, og lukker menuen. Jeg har implementeret en
focuslistener og added den til min Jmeneu se kode (redigeret).
private void initComponents(){
menuBar = new JMenuBar();
menu = (JMenu)getMenu();
menu.addFocusListener(this);
menuBar.add(menu);
getContentPane().setLayout(new java.awt.GridLayout(1, 1));
setJMenuBar(menuBar);
}
public JMenu getMenu(){
menu = new JMenu("Filer");
submenu = new JMenu("Ny");
sessionData = getParameter("liste");
StringTokenizer st = new StringTokenizer(sessionData, "@");
while (st.hasMoreTokens()) {
menuItem = new JMenuItem(st.nextToken());
menuItem.addActionListener(this);
submenu.add(menuItem);
}
menu.add(submenu);
menu.addSeparator();
menuItemGem = new JMenuItem("Gem..");
menu.add(menuItemGem);
menuItemGem.addActionListener(this);
return menu;
}
public void actionPerformed(ActionEvent e) {
Object os = e.getSource();
if(os == menuItemGem)
{
System.out.println("Gem den aktuelle file");
}
}
public void itemStateChanged(ItemEvent e){}
public void focusGained(FocusEvent e){
System.out.println("har fokus");
}
public void focusLost(FocusEvent e){
menu.setPopupMenuVisible(false);
menu.updateUI();
}
--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"