Hi Christophe,

Please see comment on https://www.canoo.com/jira/browse/UBA-7172 for a work
around.

Thanks and regards,

Janak

>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED] Behalf Of Janak Mulani
>Sent: Friday, March 02, 2007 5:33 PM
>To: [EMAIL PROTECTED]
>Cc: [email protected]
>Subject: RE: [ULC-developer] ULCCombobox - IKeySelectionManager
>
>
>Hi Christophe,
>
>Thanks for pointing out this bug. I have opened an issue:
>https://www.canoo.com/jira/browse/UBA-7172.
>
>I will try to provide a work around.
>
>Thanks and regards,
>
>Janak
>
>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED] Behalf Of
>[EMAIL PROTECTED]
>Sent: Monday, February 26, 2007 4:52 PM
>To: [email protected]
>Subject: [ULC-developer] ULCCombobox - IKeySelectionManager
>
>
>
>I have a different behavior wenn I use a IKeySelectionManager with Swing or
>ULC.
>
>With Swing, the 'not-matching' KeyEvent (in this case PF10) is
>forwarded the
>the container of the combobox.
>With ULC, the KeyEvent ist consumed.
>
>See the code snipets:
>
>1. I register a keyboardAction for keyEvent F10 with
>WHEN_ANCESTOR_OF_FOCUSED_COMPONENT on a container.
>2. I put tow comboboxes on this container. the second combobox have a
>IKeySelectionManager.
>3. When the second combobox has the focus,  the keyEvent F10 shoul be
>forwarded.
>
>Regards,
>Christophe Perret
>
>mailto:[EMAIL PROTECTED]
>
>
>ULC:
>
>public class TestULC extends AbstractApplication{
>
>        /**
>         * @param args
>         */
>        public static void main(String[] args) {
>
>                DevelopmentRunner.setApplicationClass(TestULC.class);
>                DevelopmentRunner.main(args);
>
>        }
>
>        /* (non-Javadoc)
>         * @see com.ulcjava.base.application.IApplication#start()
>         */
>        public void start() {
>
>                final ULCFrame frame = new ULCFrame("Test KeyboardListener
>ULC");
>                frame.addWindowListener(new IWindowListener() {
>
>                        public void windowClosing(WindowEvent event) {
>                                ApplicationContext.terminate();
>                        }
>                });
>
>                frame.setSize(500, 300);
>
>                ULCBoxPane pane = new ULCBoxPane(true);
>                pane.add(getCombobox());
>                pane.add(getComboBoxWithSelectionManager());
>                pane.add(getText());
>                pane.add(getTextWithKeyListeners());
>
>
>                pane.registerKeyboardAction(new IActionListener() {
>
>                        public void actionPerformed(ActionEvent event) {
>
>                                new ULCAlert(" ", "F10 pressed",
>"ok").show();
>
>                        }}, KeyStroke.getKeyStroke(KeyEvent.VK_F10, 0),
>ULCComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
>
>                frame.add(pane);
>                frame.setVisible(true);
>
>        }
>
>
>        /**
>         * @return
>         */
>        private ULCComponent getComboBoxWithSelectionManager() {
>
>                ULCComboBox combo = getCombobox();
>                combo.setKeySelectionManager(new IKeySelectionManager(){
>
>                        public int selectionForKey(char keyChar,
>IComboBoxModel model) {
>                                // do some  stuff here
>                                return -1;
>                        }});
>
>                return combo;
>        }
>
>
>        /**
>         * @return
>         */
>        private static ULCComboBox getCombobox() {
>
>                return new ULCComboBox(new String[]{"one", "two",
>"three"});
>        }
>
>        /**
>         * @return
>         */
>        private static ULCTextField getText() {
>
>                return new ULCTextField("very simple ULCTextField");
>        }
>
>        /**
>         * @return
>         */
>        private static ULCTextField getTextWithKeyListeners() {
>
>                ULCTextField txt = new ULCTextField("ULCTextField with
>KeyListeners");
>
>                txt.addKeyListener(new IKeyListener() {
>
>                        public void keyTyped(KeyEvent event) {
>
>                                new ULCAlert( " ", "any key pressed on
>TextField", "ok").show();
>
>                        }});
>
>                txt.registerKeyboardAction(new IActionListener(){
>
>                        public void actionPerformed(ActionEvent event) {
>
>                                new ULCAlert( " ", "F11 pressed on
>TextField", "ok").show();
>
>                        }}, KeyStroke.getKeyStroke(KeyEvent.VK_F11,
>0),ULCComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
>                return txt;
>        }
>}
>
>Swing:
>
>public class TestSwing {
>
>        /**
>         * @param args
>         */
>        public static void main(String[] args) {
>
>
>                final JFrame frame = new JFrame("Test KeyboardListener
>Swing");
>
>
>                frame.setSize(500, 300);
>
>                final JPanel pane = new JPanel();
>                pane.add(getCombobox());
>                pane.add(getComboBoxWithSelectionManager());
>                pane.add(getText());
>                pane.add(getTextWithKeyListeners());
>
>
>                pane.registerKeyboardAction(new ActionListener(){
>
>                        public void actionPerformed(ActionEvent e) {
>
>                                JOptionPane.showMessageDialog(pane, "F10
>pressed on pane.");
>
>                        }}, KeyStroke.getKeyStroke(KeyEvent.VK_F10, 0),
>JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
>
>                frame.add(pane);
>
>                frame.setVisible(true);
>
>
>        }
>
>
>
>        /**
>         * @return
>         */
>        private static JComponent getComboBoxWithSelectionManager() {
>
>                JComboBox combo = getCombobox();
>                combo.setKeySelectionManager(new
>JComboBox.KeySelectionManager(){
>
>                        public int selectionForKey(char aKey, ComboBoxModel
>aModel) {
>
>                                // do some stuff here
>
>                                return -1;
>                        }});
>
>                return combo;
>        }
>
>
>        /**
>         * @return
>         */
>        private static JComboBox getCombobox() {
>
>                return new JComboBox(new String[]{"one", "two", "three"});
>        }
>
>        /**
>         * @return
>         */
>        private static JTextField getText() {
>
>                return new JTextField("very simple ULCTextField");
>        }
>
>        /**
>         * @return
>         */
>        private static JTextField getTextWithKeyListeners() {
>
>                final JTextField txt = new JTextField("ULCTextField with
>KeyListeners");
>
>                txt.addKeyListener(new KeyListener() {
>
>                        public void keyTyped(KeyEvent e) {
>
>                                JOptionPane.showMessageDialog(txt,
>"keyTyped
>on JTextField.");
>
>                        }
>
>                        public void keyPressed(KeyEvent e) {
>
>                                JOptionPane.showMessageDialog(txt,
>"keyPressed on JTextField.");
>
>                        }
>
>                        public void keyReleased(KeyEvent e) {
>
>                                JOptionPane.showMessageDialog(txt,
>"keyReleased on JTextField.");
>
>                        }});
>
>                txt.registerKeyboardAction(new ActionListener() {
>
>                        public void actionPerformed(ActionEvent e) {
>
>                                JOptionPane.showMessageDialog(txt, "F11
>pressed on JTextField.");
>
>                        }}, KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0),
>JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT );
>
>                return txt;
>        }
>}
>
>_______________________________________________
>ULC-developer mailing list
>[email protected]
>http://lists.canoo.com/mailman/listinfo/ulc-developer

_______________________________________________
ULC-developer mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/ulc-developer

Reply via email to