/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Jmenu
Fra : Thomas ottosen


Dato : 02-10-01 17:18

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)/*Fanger ikke actionevent, men lukker menuen, da
focus bliver = * focusLost når
man klikker på en JItem*/
{
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();
}




 
 
Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste