JTextField Focus Lost Behaviour

Hi all,
I have one TextField beside one hlp button , when i enter the value in the textfiled and press tab or press the hlp button same validation
should popup ......here my problem is at first time when i press the
hlp button the valiation is not getting but the window was get opened.
Before the window opening validation also should popup .......
can any body help me ...pls
my code is like this
compradorDdfTf.addKeyListener(new KeyAdapter() {
               public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_TAB) {
//my code
public void keyTyped(KeyEvent e) {
                    compradorDdfbool = true;
Regards,
Rohit

You have been asked multiple times to respond to all of you previous posting when you receive help. You still haven't learned how to do this.
You have been asked several time to use the "Code Formatting Tags" when posting code. You still aren't doing this.
Now you've added multi-posting to things you shouldn't be doing. If you want to change your question then you can "edit" you posting until someone replies to the posting.
Not only that you where given an answer to this question in your last posting.
I'm not will to help someone who can't learn the basics of using the forum effectively. You are still on your own.

Similar Messages

  • Focus Lost behaviour not working for JTextField

    Hi all,
    I have one JTextField and beside one hlp button when i enter the data in th textfield , press the tab it should give the validation , when i press the button at this time also same validation should be pop up , immediatly the button action would also fired .......how to achieve this functionality ...can any body help in this scenerio
    Regards,
    Roshni

    Read the Swing tutorial on [url http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html#inputVerification]Validating Input.

  • JTable discards input when focus lost

    Hi! Im running Java 1.4.2-b28.
    Problem as follows:
    I have a JTable where the user can enter som data.
    I also have a button with the caption "Minimize" that starts processing of the same data.
    If i enter a value into the table (say "foo") and press "Minimize" when the cell is in editing mode, "foo" is NOT SAVED into the JTable's TableModel! getValueAt(int row, int col) returns an old value instead!
    How can i change the focus lost behaviour on the cell? Is this a bug??
    Regards
    /Alex

    Found an answer to this, sorry everyone. Well, here it is:
    http://forums.java.sun.com/thread.jsp?thread=350530&forum=57&message=1453945

  • JTextField on change behaviour

    Hello All
    I needed help with the JTextfield, I need to be able to add a change event listener to it, based on the value entered in JTextfield, I need to repaint other components on the panel. Im not very keen on using the FocusListener like in my code snippet below.Can anyone suggest me with some "On Value change" kind of listener that I can use.
    JTextField jt = new JTextField();
    jt.setPreferredSize(new Dimension(75,25));
    jt.addFocusListener(new FocusListener(){
    public void focusLost(FocusEvent ez)
    System.out.println("focus lost");
    public void focusGained(FocusEvent ex)
    System.out.println("focus gained");
    Regards
    N.

    Hello Anton,
    Your right about the remove/insert listeners.. for every alphabet added or removed the event gets triggered
    I have the focus listeners implementation at the moment.. but am not too keen on it, becoz every time it gains focus it will trigger the event, as I am really doing some jdbc calls to process and populate the other components.. I wanted to use a change listener.. so that it triggers event only on value changes and not keep making these calls when it gains /loses focus
    Regards
    N.

  • Focus lost first ?

    i have 2 text fields, A and B. when i hit tab, focus travel from A to B, my question is which focus event occur first ? focus lost for A or focus gained for B ?

    i have a more complex problem, why i press the tab, the program won't fire the ket event? when i press enter, it fire the key event ? a sample code is provided and anyone can explain the result ?
    Ai got the focus
    key event fired
    Bi got the focus
    Ai lost the focus
    Ai lost the focus
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class test10 implements FocusListener, ActionListener, KeyListener
      private static JFrame frame;
      private static JPanel pane1;
      private static JTextField tfield1, tfield2;
      private static JTextField current = null;
      public test10()
        frame = new JFrame( "A frame" );
        frame.setSize( 100, 50 );
        pane1 = new JPanel();  
        tfield1 = new JTextField( "A", 5 );
        tfield1.setName( "A" );
        tfield1.addFocusListener( this );
        tfield1.addActionListener( this );
        tfield1.addKeyListener( this );
        tfield2 = new JTextField( "B", 5 );
        tfield2.setName( "B" );
        tfield2.setEnabled( false );
        tfield2.addFocusListener( this );
        tfield2.addActionListener( this );
        tfield2.addKeyListener( this );
        pane1.add( tfield1 );
        pane1.add( tfield2 );    
        frame.getContentPane().add( pane1 );
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        frame.pack();
        frame.setVisible( true );
      public void keyPressed(KeyEvent e)
    System.out.println( "key event fired" );
        if(e.getKeyCode() == e.VK_TAB)
          if( current == tfield1 )
            tfield1.setEnabled( false );
            tfield2.setEnabled( true );
            tfield2.requestFocus();
          if( current == tfield2 )
            tfield2.setEnabled( false );
            tfield1.setEnabled( true );
            tfield1.requestFocus();
      public void keyTyped( KeyEvent e )
      public void keyReleased(KeyEvent e)   
      public void focusGained( FocusEvent fe )
        System.out.println( ((JTextField)fe.getSource()).getName() + "i got the focus" );
        current = (JTextField)fe.getSource(); 
      public void focusLost( FocusEvent fe )
        if( fe.getSource() == tfield1 )
          tfield2.setEnabled( true );
          tfield2.requestFocus();     
          tfield1.setEnabled( false );
          System.out.println( ((JTextField)fe.getSource()).getName() + "i lost the focus" );   
        if( fe.getSource() == tfield2 )
          tfield1.setEnabled( true );
          tfield1.requestFocus();  
          tfield2.setEnabled( false );  
          System.out.println( ((JTextField)fe.getSource()).getName() + "i lost the focus" );   
      public void actionPerformed( ActionEvent ae )
        if( ae.getSource() == tfield1 )
          tfield1.setEnabled( false );
          tfield2.setEnabled( true );
          tfield2.requestFocus();     
          System.out.println( ((JTextField)ae.getSource()).getName() + "i lost the focus" );   
        if( ae.getSource() == tfield2 )
          tfield2.setEnabled( false );          
          tfield1.setEnabled( true );
          tfield1.requestFocus();
          System.out.println( ((JTextField)ae.getSource()).getName() + "i lost the focus" );   
      public static void main( String[] args )
        test10 t = new test10();
    }

  • Preventing Focus Lost

    I am trying to stop a focus lost on a JTextField. I was not able to find anything on this in the Forum or searching.
    Basically, I want to prevent a user from leaving a text field when the data is invalid, so focus lost should only be granted when valid.
    I tried overriding .transferFocus(), but of course you can just click on another component.
    I did find something that works at times, but is very dangerous. I added a focus listener and did something like this:
                public void focusLost(FocusEvent e)
                    try
                    {                    Toolkit.getDefaultToolkit().getSystemEventQueue().getNextEvent();
                    catch (InterruptedException ex){}
                    requestFocus();
                }Calling this will remove the focus gained event after the focus lost and .requestFocus() can be called to regain focus.
    Anyone have any ideas?

    Check out the InputVerifier class.
    Or, you can also use a [url http://java.sun.com/docs/books/tutorial/uiswing/components/generaltext.html#filter]Document Filter to prevent invalid character from being entered the the text field.
    Or, you can use a JFormattedTextField.

  • Focus lost when a popup menu is activated...

    It seems that when a popup menu is activated the component invoker lost focus. this is ugly because a focus lost can trigger unexpected events (formatting, validating, etc). how can I avoid this?
    thanx

    I must seem a bit weird being the only one to reply to my posts, but I found what is occuring, is that when I do the mouse click the InputVerifier for that JTextField is firing. This is causing a problem, because this input verifier pops up a dialog saying please enter correct values ... and then highlights the entire text field. Problem is if the input is currently invalid I can't use the mouse.
    Any ideas?
    Tom

  • Feature Request: Microsoft Excel 2013 - Don't hide status bar text on focus lost (AVERAGE, COUNT, SUM)

    Could you please disable hiding of status bar text on focus lost.
    I use this in Excel 2013, where I select a few cells, then move to another Excel to write the sum of those cells as read from the status bar or to check with other values in the second window. This really makes my life easier and I see no reason to hide
    the status bar text when the window looses focus.

    Hi,
    Thanks for your suggestions.
    You can also send your feedback to the Office team by the steps as below:
    1. Inside any new Office application you’ll see a yellow smiley face in the top-right corner. Click on the face and choose either
    Send a Smile to send positive feedback or
    Send a Frown to send negative feedback.
    2. In the window that appears, provide details about your feedback or issue. Also, be sure to provide a link to this thread.
    3. Next, you can choose whether or not to send a screenshot. You can also enter your email address so the Office team can contact you directly if they have any questions.
    Note: Most feedback requests do not result in responses from the Office team.
    4. Click the Send button at the bottom of the form to send your feedback.
    Best Regards,
    Judy

  • Focus lost called multiple time

    Hi
    I have created a simple search panel containing a JFormattedTextField
    and a button next to it .
    Now if focus is in JFormattedTextField and user press TAB , focus lost method is called and i have to validate the values , which is very straight forward .
    This focus lost method is being called only <b>once</b> on fedora linux , but is being called <b>thrice</b> on Windows XP .
    Any lead please ?
    Thanks
    Sunny Jain

    Two suggestions:
    1. Use an InputVerifier instead
    http://java.sun.com/javase/6/docs/api/javax/swing/InputVerifier.html
    2. If you insist on taking the FocusListener route, maybe you can check the isTemporary() flag on the FocusEvent? I'm guessing two of the three focus lost events will have isTemporary() == true (but I could very well be wrong).

  • Focus Lost - Sticky Cursor

    Hi folks,
    When using 10gRel2 we get a lot of 'focus lost' problems. I read all threads here and in metalink; this problem is a very serious one and in some cases hard to reproduce. at least 10 different situation causes different focus lost situations.
    Oracle has concentrated that issue in the base bug 5358366.
    The fix for the focus lost problems will be implemented in JRE 1.5.0_9 which is currently not available at SUN. Nevertheless, has anybody received that internal version for testing? What's your experience?
    Thanks, werner

    Hi kndwds,
    Would be very interested in sharing some information re your Focus Lost question. We have had very similar issues in all versions of Forms (and occassionally have managed to create test cases) resulting in a number of patches. In 10.1.2 and the Sun JVM, the issue is very much worse, but currently we can not reproduce a repeatable test case.
    I have reviewed all the bugs, but this does not provide much meaningful information.
    Can you provide any update on the situation with your TAR, and if at all possible, full details of the test case that you have been able to provide.
    Any help much appreciated.
    Regards
    Marc Ludwig

  • How to handle cell events like focus lost in  jtable

    Hi,
    I have faced a problem relating jtable.Upon focus lost on particular cell the values in the other cells need to change accordingly.Out of 7 columns, upon entering an integer value in one column accordingly 3 columns need to update the values fetched from database and get disabled.The columns being updated have a combobox in which the value is to be shown.....Please look at it and provide a working solution.
    Looking forward,
    chandra

    Try using a TableModelListener:
    http://forum.java.sun.com/thread.jspa?forumID=57&threadID=566133

  • JTable Focus Lost

    Hi All,
    I have a JTable with 6 columns and the last column has a button attached called EXPAND.
    Also I have another navigation buttons called Next, Back, Save and Refresh.
    Whenever I make changes to the cell and then click on the expand button of the 6th column, it saves my changes.
    but when i make changes to the cell and then click some where else (other than on the JTable) ...here for example on the Refresh button ...and then click on the expand button on JTable, I could not save my changes ...
    i.e. it is not invoking my focusLost ...Is there any work around for this problem ...
    I am posting my focus Lost code :
    public void focusLost(FocusEvent e) {
    if (jTable.getSelectedColumn() >= 0) {
    if (jTable.getColumnName(jTable.getSelectedColumn()).equalsIgnoreCase("Expand")) {
    saveData();
    Many Thanks
    Mahesh

    try tableChange Listener, something like this
    class TableListener
           implements TableModelListener {
          private JTable table;
          public TableListener(JTable table) {
          this.table = table;
          public void tableChanged(TableModelEvent e) {
             int editRow = table.getEditingRow();
             String value = table.getValueAt(editRow, 1).toString();
             if (e.getType() == TableModelEvent.UPDATE) {
                save();
    [/code                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • JTextField focus

    I have a problem with the focus of a JTextField in a JApplet. Why? Here is my code:
    class MyPanel extends JPanel {
        ImageIcon imageIcon;
        Image image;
        public MyPanel(Image tiledBackgroundImage) {
            setOpaque(false);
            setLayout(new BorderLayout());
            imageIcon = new ImageIcon(tiledBackgroundImage);
            image = imageIcon.getImage();
        public void paintComponent(Graphics g) {
            for (int x = 0; x < getWidth(); x += image.getWidth(this)) {
                for (int y = 0; y < getHeight(); y += image.getHeight(this))
                    g.drawImage(image, x, y, this);
            super.paintComponent(g);
    }and in the init() method of my applet I have the following call
    setContentPane(new MyPanel(getAppletContext().getImage(new URL(getDocumentBase(), getParameter("backgroundImage")))));However, before I added this code for rendering the background image everything was working well. But after I added it, the JTextFields started to reject focus; when I click on them with the mouse I see a fast blink and then focus is lost again. Why is this so?

    Hi,
    you could use focus listener..
    void focusGained(FocusEvent e)
    void focusLost(FocusEvent e)
    or you could also check with hasFocus() which returns boolean ....
    ramesh

  • JTextField focus problems in JApplet

    I have a JApplet like this:
    public class AppletLogin extends JApplet {
    public void init() {
    this.setSize(new Dimension(400,300));
    this.getContentPane().setLayout(new FlowLayout());
    this.getContentPane().add(new JTextField(12));
    this.getContentPane().add(new JTextField(12));
    The first problem I have is that both JTextField don't show the cursor if you click in them, they also don't show selected text. If you select another window and then you select back the browser, the cursor appears.
    The second problem is that sometimes, if the cursor appears in the first JTextField and with the TAB or with the mouse you set the focus on the second JTextField, then you can't focus back to the first JTextField. This second problem disappears if you add "this.requestFocus()" in init.
    This behaviour is shown in Windows NT 4.0 and 98 with Netscape 4.7 and 6.2.
    I don't have this problem in Windows 2000 - Netscape 4.7 / 6.2 and Linux - Netscape 6.2.
    The Plugin is 1.3.1_01a and 1.3.1_02.
    I think I have the same problem explained in bug 4186928 but with a JApplet. I have tried the "dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_ACTIVATED))" workaround, using the 'SwingUtilities.getWindowAncestor(this)' Window, but it doesn't
    work.
    Any suggestions to solve the first problem? Should I submit a bug?

    Of course. Here is the original code. I have only removed 'imports' from other classes of the project used for localization and image loading.
    If you want me to translate for you the Spanish comments to English, please tell me.
    This is the code as is now. I have already tried 'requestFocus' and 'grabFocus' even inside a MouseListener attached to 'usuario' (user) and 'clave' (passwd), with no success.
    This code works fine with 1.2.2 plug-in on any OS and with 1.3.1_02 plug-in on Windows 2000 and Linux.
    But with 1.3.1_02 plug-in under Windows 98/NT4.0 and Netscape 4.7/6.2 the focus is crazy. Our customer uses Windows NT 4.0.
    This panel is for user and passwd validation. We use it attached to an JApplet. It has some methods to attach ActionListener to it. It also has a KeyListener to capture 'intro' events. Thats all.
    package project.pkg
    import java.util.TooManyListenersException;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import java.awt.event.KeyListener;
    import java.awt.event.KeyEvent;
    import java.awt.event.ComponentAdapter;
    import java.awt.event.ComponentEvent;
    import javax.swing.border.EmptyBorder;
    // import of other.project.pkg
    // import of other.project.pkg
    import javax.swing.*;
    import java.awt.*;
      * Panel de acceso a la aplicaci�n.
      * @version  $Revision: 1.8 $
    public class PanelAcceso extends JRootPane {
       // Marca de revision. ///////////////////////////////
       private final static String VERSION = "@(#) $Id: PanelAcceso.java,v 1.8 2001/05/08 15:55:46 user Exp $";
       /** Campo usuario */
       private JTextField usuario;
       /** Campo clave */
       private JTextField clave;
       /** Panel de los controles */
       private JPanel controles;
       /** Panel auxiliar marco para controles. */
       private JPanel marco;
       /** ActionListener para notificaci�n de intro. de usuario y passwd */
       private ActionListener entrarActionListener = null;
        * Construye un panel de acceso.
       public PanelAcceso() {
         JLabel portada = new JLabel(/*HERE goes an ImageIcon*/);
         portada.setHorizontalAlignment( SwingUtilities.CENTER);
         portada.setVerticalAlignment( SwingUtilities.CENTER);
         getContentPane().setLayout( new BorderLayout());
         getContentPane().add( portada, BorderLayout.CENTER);
         getContentPane().setBackground( Color.white);
         controles = new JPanel();
         controles.setLayout(new GridLayout(4,2,5,5));
         controles.setOpaque(false);
         controles.add( new JLabel("Ver. 2.5.1"));
         controles.add(Box.createHorizontalGlue());
         controles.add(Box.createHorizontalGlue());
         controles.add(Box.createHorizontalGlue());
         controles.add( new JLabel("User") );
         usuario = new JTextField( 12);
         usuario.addKeyListener(keyListener);
         controles.add( usuario);
         controles.add( new JLabel("Passwd") );
         clave = new JPasswordField( 12);
         clave.addKeyListener(keyListener);
         controles.add( clave);
         // Panel auxiliar marco para controles.
         marco = new JPanel(new FlowLayout(FlowLayout.RIGHT));
         marco.setOpaque(false);
         marco.add(controles);
         setGlassPane(marco);
         // Listener para fijar el borde de marco seg�n cambie de
         // tama�o el panel.
         marco.addComponentListener( new ComponentAdapter() {
           public void componentResized(ComponentEvent e) {
             changeEmptyBorder();
           public void componentShown(ComponentEvent e) {
             changeEmptyBorder();
         marco.setVisible(true);
        * Devuelve el usuario introducido.
       public String getUser() {
         return usuario.getText();
        * Devuelve la contrase�a introducida.
       public String getPasswd() {
         return clave.getText();
        * Limpia el panel de acceso.
       public void limpiar() {
         clave.setText("");
         usuario.setText("");
        * A�ade un listiener a los eventos de
        * petici�n de acceso dado un usuario y
        * una contrase�a.
        * @throws TooManyListenersException si ya se ha a�adido un listener.
       public void addEntrarListener(ActionListener l) throws TooManyListenersException {
         if ((entrarActionListener != null) && (entrarActionListener != l))
           throw new TooManyListenersException("Solo se admite un listener");
         else
           entrarActionListener = l;
        * Borra un listener.
       public void removeEntrarListener(ActionListener l) {
         if (entrarActionListener == l)
           entrarActionListener = null;
         else
           throw new IllegalArgumentException("Intento de borrar un listener no a�adido");
        * Borra todos los listeners.
       public void removeEntrarListeners() {
         entrarActionListener = null;
        * Instancia privada de KeyListener para capturar
        * los 'enter' en los campos de usuario y passwd.
       private KeyListener keyListener = new KeyListener() {
          * Method to handle events for the KeyListener interface.
          * @param e KeyEvent
         public void keyPressed(KeyEvent e) {
           if (e.getKeyCode() != KeyEvent.VK_ENTER)
             return;
           if ((e.getSource() == usuario) )
             clave.requestFocus();
           else {
             requestFocus(); // Se evitan varias pulsaciones seguidas.
             if (entrarActionListener != null)
               entrarActionListener.actionPerformed(new ActionEvent(this, 0, ConstantesXigus.ACCION_ENTRAR));
         /** Method to handle events for the KeyListener interface. */
         public void keyReleased(KeyEvent e) {}
         /** Method to handle events for the KeyListener interface. */
         public void keyTyped(KeyEvent e) {}
        * Ajusta el borde del marco de controles para que aparezcan centrados.
       private void changeEmptyBorder() {
         Dimension dimMarco   = marco.getSize();
         Dimension dimInterno = controles.getPreferredSize();
         int altoBorde  = dimMarco.height - dimInterno.height;
         int anchoBorde = (dimMarco.width - dimInterno.width)/2;
         marco.setBorder( new EmptyBorder( (int)(altoBorde * 0.75), anchoBorde, (int)(altoBorde * 0.25), anchoBorde));
    }Thank you very much for your help

  • F10 key and focus lost

    When I press the F10 key in Windows on a JavaFX program the focus goes to the titleBar, you can see it if you press Return later. Is there any way to disable this functionality?, I use keyboard accelerators and F10 key can't be used because of this behaviour.
    Thanks in advance

    I know that it's the default behaviour that's way I discover where was the focus after pressing F10. I have changed my keyboard accelerators to not use F10 key but if it's pressed the focus goes to the title bar (if you don't have a menu) and in my case, I use an undecorated window so is more difficult to see it. If you press return key after F10 you will get the window menu popup.
    It will be great to be able to control this...

Maybe you are looking for