Thanks .  Click of ok button was more like what i wanted to do.

Janak Mulani wrote:
Hi Eugene,

To catch Enter and Escape keys on the Alert you can do the following to
extend UIAlert class:

        protected void prepareAlertDialog(final JDialog arg0) {
            KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,
0);
            arg0.getRootPane().registerKeyboardAction(new ActionListener()
{
                public void actionPerformed(java.awt.event.ActionEvent e)
{
                    System.out.println("Enter pressed");
                }}, enter, JComponent.WHEN_IN_FOCUSED_WINDOW);

KeyStroke esc = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
            arg0.getRootPane().registerKeyboardAction(new ActionListener()
{
                public void actionPerformed(java.awt.event.ActionEvent e)
{
                    System.out.println("Esc pressed");
                }}, esc, JComponent.WHEN_IN_FOCUSED_WINDOW);
        }


What action do you want to take on Enter key? If you would like to mean
the Enter key press == click of Ok button then then you can do something
like this:

        protected void prepareAlertDialog(final JDialog arg0) {
            JOptionPane optionPane =
(JOptionPane)arg0.getContentPane().getComponent(0);
JPanel panel = (JPanel)optionPane.getComponent(1);
            JButton button = (JButton)panel.getComponent(0);
if (button.getText().equals("Ok")) {
                arg0.getRootPane().setDefaultButton(button);
} }

BTW, for faster and guaranteed response to your posts please consider
subscribing to ULC Premium Support.

Thanks and regards,

Janak

-----------------------------------------
Janak Mulani

email: [email protected]
url: http://www.canoo.com

Beyond AJAX - Java Rich Internet Applications
http://www.canoo.com/ulc
-----------------------------------------
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Eugene Coelho
Sent: Friday, February 06, 2009 1:32 PM
To: [email protected]
Subject: [ULC-developer] Adding a key listener to ULCAlert

Hi,

I have a scenario where i need to handle user pressing enter key when a ULCAlert alert is shown.

I tried the following .... but it didnt work .. any suggestions to make it work ?
----

Client Part


package com.xxxx.xxx.extension.client;

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JDialog;
import javax.swing.JOptionPane;

import com.ulcjava.base.client.UIAlert;

public class UICustomAlert extends UIAlert {

public void performAction() {
        this.fireWindowClosingULC();
    }
protected void postInitializeState() {
        super.postInitializeState();
    }

    private class HandleEnterKeyListener implements  KeyListener {

        public void keyPressed(KeyEvent e) {
            int code = e.getKeyCode();
            if(code == KeyEvent.VK_ESCAPE){
            // Key pressed is the ESCAPE key. Hide this Dialog.
}
            else if(code == KeyEvent.VK_ENTER){
            //    Key pressed is the ENTER key.
// Redefine performEnterAction() in subclasses to respond to depressing the ENTER key.
                performAction();
}
        }

        public void keyReleased(KeyEvent arg0) {
}

        public void keyTyped(KeyEvent arg0) {
} }

    protected void prepareAlertDialog(JDialog arg0) {
JOptionPane optionPane = (JOptionPane)arg0.getContentPane().getComponent(0);
        KeyListener[] keyListener = optionPane.getKeyListeners();
        for (int i=0;i<keyListener.length;i++) {
            optionPane.removeKeyListener(keyListener[i]);
        }
        optionPane.addKeyListener(new HandleEnterKeyListener());
    }

}

----

Server Part

package com.xxxx.xxx.extension.server;

import com.ulcjava.base.application.ULCAlert;
import com.ulcjava.base.application.ULCRootPane;

public class ULCCustomAlert extends ULCAlert {

    private static final long serialVersionUID = 1L;

public ULCCustomAlert(ULCRootPane rootPane, String loginfailed_title, String login_failed_message, String button_retry, String button_quit) { super(rootPane, loginfailed_title, login_failed_message, button_retry, button_quit);
    }

    protected String typeString() {
return "com.isfsdc.wwm.extension.client.UICustomAlert"; }

}

_______________________________________________
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


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

Reply via email to