Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.gui > #2296

Re: menu accelerator

From "Chameleon" <chameleon@THRWHITE.remove-dii-this>
Subject Re: menu accelerator
Message-ID <faerfl$nen$1@volcano1.grnet.gr> (permalink)
Newsgroups comp.lang.java.gui
References <46caa9a5$0$21098$da0feed9@news.zen.co.uk>
Date 2011-04-27 15:38 +0000
Organization TDS.net

Show all headers | View raw


  To: comp.lang.java.gui
> Chameleon wrote:
>> Andrew Thompson wrote:
>>>
>>> Paste an SSCCE here and we
>>> might be able to see what you are doing wrong,
>>
>> I am trying to say, how can I assign the "F1" accelerator to a 
>> menuitem. The following code doesn't work:
>> ---------------------
>> JMenuBar jmb = new JMenuBar();
>> JMenu jm = new JMenu("Help");
>> JMenuItem jmi = new JMenuItem("Help Index");
>> jmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0));
>> jmi.addActionListener(listener);
>> jm.add(jmi);
>> jmb.add(jm);
>> ---------------------
>> I don't want "Shift+F1", "Ctrl+F1", etc. I want "F1".
>>
> 
> Thats not an SSCCE!
> 
> You have a bug in the code you are *not* showing us.
> 
> Here's a working SSCCE based on your snippet:
> -----------------------------------------8<----------------------------------- 
> 
> import java.awt.event.ActionEvent;
> import java.awt.event.ActionListener;
> import java.awt.event.KeyEvent;
> 
> import javax.swing.JFrame;
> import javax.swing.JLabel;
> import javax.swing.JMenu;
> import javax.swing.JMenuBar;
> import javax.swing.JMenuItem;
> import javax.swing.JPanel;
> import javax.swing.KeyStroke;
> import javax.swing.SwingUtilities;
> 
> public class TestAccellerator implements ActionListener {
> 
>     TestAccellerator() {
> 
>     // So I don't need to edit Chameleon's code at all
>         ActionListener listener = this; // ick.
> 
>     // Chameleon's snippet *exactly* as in newsgroup
>         JMenuBar jmb = new JMenuBar();
>         JMenu jm = new JMenu("Help");
>         JMenuItem jmi = new JMenuItem("Help Index");
>         jmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0));
>         jmi.addActionListener(listener);
>         jm.add(jmi);
>         jmb.add(jm);
>     // end of Chameleon's snippet
> 
>         JPanel p = new JPanel();
>         p.add(new JLabel("Panel"));
> 
>         JFrame f = new JFrame("Test Accellerator");
>         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
>         f.add(p);
>         f.setJMenuBar(jmb);
>         f.pack();
>         f.setVisible(true);
>     }
> 
>     public void actionPerformed(ActionEvent e) {
>         System.out.printf("Event: command '%s' from object '%s'\n", e
>                 .getActionCommand(), e.getSource());
>     }
> 
>     public static void main(String[] args) {
>         SwingUtilities.invokeLater(new Runnable() {
>             public void run() {
>                 new TestAccellerator();
>             }
>         });
>     }
> 
> }
> 
> -----------------------------------------8<----------------------------------- 
> 
> When I press F1 I get the output I expected.


I dont know what is SSCCE but now I know.

Holy Sh*t!
F1 working!
I am dump and I spend your time for nothing!
I found a clause "if (key == 0 || modifier == 0) ..." in my code...
What a SHAME.
Sorry.

---
 * Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24

Back to comp.lang.java.gui | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

menu accelerator "Chameleon" <chameleon@THRWHITE.remove-dii-this> - 2011-04-27 15:38 +0000
  Re: menu accelerator "Andrew Thompson" <andrew.thompson@THRWHITE.remove-dii-this> - 2011-04-27 15:38 +0000
    Re: menu accelerator "Chameleon" <chameleon@THRWHITE.remove-dii-this> - 2011-04-27 15:38 +0000
      Re: menu accelerator "RedGrittyBrick" <redgrittybrick@THRWHITE.remove-dii-this> - 2011-04-27 15:38 +0000
        Re: menu accelerator "Chameleon" <chameleon@THRWHITE.remove-dii-this> - 2011-04-27 15:38 +0000

csiph-web