JTextField losts focus

Dear all,
I have encountered a strange problem on writing GUI with Java.
My JFrame contains serveral JTextFields, sometimes the cursor will lost, even though I click on the JTextFields, the JTextFields cannot gain the focus.
On the other hand, sometimes there are more than 1 blinking cursor appears in some JTextFields, but neither of them received keyboard input.
Once it happen, I will have to restart the program since it can't be recovered.
Have you encountered such a problem? Is there any way I can solve it?
Thanks in advance,
Alphonso :)

I've seen this a few times. I suppose it could be considered a Swing bug (since you should never see two blinking cursors in two places..), but each time I witnessed this bug, I realized that it was happening as a result of inappropriate code relating to focus-event-handling. Perhaps you should post the specific code and/or the user interaction that makes this bug reproducable -- then we could track down how to code around it...
/Logan

Similar Messages

  • Text Input header render lost focus on grid data refresh

    I have create a text input  type header render for datagrid as a filter.  On change event I am dispatching my custom event which refresh the datagrid from
    server side filter but in this the text input in which I am typing lost focus and gain it again on mouce click
    Alreadt tried setFocus and focusManager
    Thanks
    Abha

    I'd probably wait for updateComplete and then call setFocus again.  And/or
    use callLater to defer setting focus.

  • In Flex,how to make lost focus of textinput on enter click?

    Hi
    In Flex,how to make lost focus of textinput on enter click of keyboard ?
    Thanks,
    Sunil

    Hi vibhuti,
         I  got your point but it will not helpful to me.
        But I found solution ,When user clicks enter key make stage.focus = null  so it will lost focus on text input and make focus in my current Alert Box.
    Thanks,
    Sunil

  • Accelerators, JTextField, and focus

    I created a JMenuItem for Save. I also created an accelerator for the Save menu item.
    JMenuItem saveItem;
    JMenu fileMenu = new JMenu ("File");
    fileMenu.add (saveItem = new JMenuItem ("Save"));
    saveItem.setMnemonic ('S');
    KeyStroke cntrlS = KeyStroke.getKeyStroke(KeyEvent.VK_S,
    Event.CTRL_MASK);
    saveItem.setAccelerator (cntrlS);
    saveItem.addActionListener (new ActionListener() {
    public void actionPerformed (ActionEvent e) {
    doSaveNote();
    When the user is finished entering data into the JTextField(s), the user then either presses ctrl-S or clicks on the Save button on the menu. My code (not shown) validates data in JTextFields when the Save accelerator or button is pressed (blank field is considered invalid as well as wrong flight number). If data is invalid, then the first field with invalid data gets focus.
    If the JTextField has focus and invalid data is there, then when the user clicks the Save button the JTextField still has focus with a message letting the user know the data is invalid. However, if the user puts invalid data in the JTextField and uses the accelerator ctrl-S without tabbing out of the field first, the invalid JTextField does not get focus and no error message is presented. When using the accelerator the invalid JTextField only gets focus and prints an error message if the user tabs out of the JTextField befor pressing ctrl-S.
    I don't want to tab out of the field. Why is the behavior different between the accelerator and clicking the Save button? Any help is appreciated.

    You can request focus for another component.
    Or you could do: myTextField.setFocusable(false). But in this case you would have to make it fosucable later on if you want to use it.

  • Gainer Focus and Lost Focus

    How implements the methods to gainer focus and lost focus?
    Thanks

    Use a node.focusedProperty() change listener to know when a field gains or loses focus.
    Call node.requestFocus() to ask for focus (for some reason I have to wrap this in Platform.runLater to get it to actually do anything).
    Call node.setFocusTraversable(false) if you don't want the user to be able to tab to the node, but still be able to click on the node to give it focus.
    Call node.setDisable(true) if you don't want the node to be focusable at all.
    I'm not sure how the focus traversable order is calculated, perhaps the order that items are added to the scene?
    Not sure how you would create a custom focus traverse if you needed one.
      @Override public void start(Stage primaryStage) {
        final TextField tf1 = new TextField("First but not initially focused");
        final TextField tf2 = new TextField("Second initially focused");
        Platform.runLater(new Runnable() { public void run() { tf2.requestFocus(); } });
        final TextField tf3 = new TextField("Can focus by clicking on, but not by tabbing to.");
        tf3.setFocusTraversable(false);
        final TextField tf4 = new TextField("Cannot focus at all.");
        tf4.setDisable(true);
        tf1.focusedProperty().addListener(new ChangeListener<Boolean>() {
            public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
              if (newValue) {
                System.out.println("First text field gained focus");
              } else {
                System.out.println("First text field lost focus");
        VBox root = new VBox(); root.setSpacing(5);
        root.getChildren().addAll(tf1, tf2, tf3, tf4);
        primaryStage.setScene(new Scene(root, 300, 100));
        primaryStage.show();
      }

  • ALV Grid Handle Edit Event (Lost Focus)

    Hi all,
    I have some problems with the ALV Grid.
    Target:
    I have an ALV Grid with editable Column. If the user insert, update or delete the content of the column and leave the column (column lost focus) i'd like to do somthing - this means I need a event for this action. Can anybody help me to solve this problem?
    Thanks Stefan

    Use Event data_changed and data_changed_finished of the cl_gui_alv_grid.Then all you have to do is registering your event to the ALV and fill the methods with what you want to do.In ALV Grid, There is no event to capture the lost focus of a column if you don't modify it.
    CLASS lcl_event_receiver DEFINITION.
        METHODS:
    *$ Check the change
           handle_data_changed FOR EVENT data_changed
                                   OF cl_gui_alv_grid
                               IMPORTING er_data_changed
                                         e_ucomm
                                         e_onf4
                                         e_onf4_before
                                         e_onf4_after,
           handle_data_changed_finished
                               FOR EVENT data_changed_finished
                                   OF cl_gui_alv_grid
                                IMPORTING e_modified
                                         et_good_cells
                                         sender,
    ENDCLASS.                    "LCL_EVENT_RECEIVER DEFINITION

  • Capture lost focus for a screen field !!

    I was more into Visual basic programming so the event name "Lost focus" !!
    Basically i want to validate a field after the user enters a value in that and before he moves to the next field.
    how to do that ? if the value entered is wrong I will display a message using MESSAGE IXXX(FF) with ".....".
    whats the event to be captured and where ? how do i code it ?
    thks

    If it is module Pool program then you can use the FIELD Fieldname module Modulename under PAI event.
    in side the module you can raise the error message.
    If it is report programming then you can use AT SELECTION-SCREEN ON <PARMETER>.
    and raise the error message.

  • Change particular cell color when finised editing and when lost focus

    Hi, i want to create a table which its particular cell can change its color automatically to red if the value in cell in column in two is smaller than column cell value in column 1 when user finish typed a value or if the cell has lost focus. I've wrote a code for the renderer but how should I use action, KeyListener or MouseLister or both
    * File ColouredCellRenderer.java
    import java.awt.Color;
    import java.awt.Component;
    import javax.swing.JTable;
    import javax.swing.table.TableCellRenderer;
    import javax.swing.table.DefaultTableCellRenderer;
    public class ColouredCellRenderer extends DefaultTableCellRenderer implements TableCellRenderer{
        private Object col1Value, col2Value;
        public ColouredCellRenderer(Object args1, Object args2){
            this.col1Value = args1;
            this.col2Value = args2;
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
              return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
         protected void setValue(Object v){
              super.setValue(v);
            if((col1Value != null) & (col2Value != null)){
                int x = Integer.parseInt(col1Value.toString());
                int y = Integer.parseInt(col2Value.toString());
                if(x > y){
                    this.setBackground(Color.RED);
                else{
                    this.setBackground(Color.GREEN);
    }

    All you should need is the cell renderer to achieve that effect. Whenever the table needs to render a cell it will call the method
    getTableCellRendererComponent(...);This method in turn returns a component showing what the cell should look like. The DefaultTableCellRenderer extends JLabel, so you are meant to customize the label (based on parameters that were passed) and return this* at the end of the method.
    public Component getTableCellRendererComponent(...) {
             return this;
    }This one label is used to render all the cells of all the columns that the cell renderer is assigned to. Since you want some cells too be red, you should call setBackground(Color.red)+ when the conditions are appropriate or null otherwise.

  • [SOLVED] Google Chrome doesn't render page after lost focus in Awesome

    Hello !
    I have installed fresh Arch Linux with linux-ck and awesome. After that I have installed google-chrome-stable and started it. Everything works well, but if I opened other application (chrome lost focus) and then got back to the chrome, it freezes. Mouce cursor worked as expected (cursor changed after hovering link, input field, etc) but view was not updated.
    Everything works well again if I change desktop to the second and go back to the first again (mod+2, mod+1). Chrome works, responses etc well.
    bvg
    Did you met something like that ? How can I fix it ?
    Edit:
    I bet this issue has something in common with hw acceleration. If I run some game on steam, lost focus, got back to the game - it show last rendered screen before focus has been lost (sound is ok, game is responsible but not updates screen).
    I use nvidia. Do I need some extra configuration to handle it ?
    Last edited by hsz (2013-12-18 17:16:17)

    The problem was `xcompmgr` which caused "freezing" view. I switched it to `unagi` and all of the problems have gone.

  • JTable, cells lost focus

    How can I get or listen to event when my cell lost focus ??

    The correct answer is to... well, that should be saved for the Swing forum. or alternatively, its in the text for THE FIRST google result for "jtable cell listener".

  • Applying the Shortcut key Tab to JTextField to focuse one by one

    how are we Focusing the JTextField one by one by using the Shortcut Key Tab,as per our specified ordering of JTextFields.
    In my application,i used the Shortcut key Tab for JTextField by focusing the JTextFields for each JTextField key event...but i could not get the result successfully.Do u have solution means u reply me plz.......

    as per our specified ordering of JTextFields.set your own FocusTraversalPolicy()
    http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html#customFocusTraversal

  • How to catch cell lost focuse event of matrix

    Dear all
    can you tell me how to catch the cell lost fouc event of matrix.
    i want to check the value is entered the that cell, which is not greter than the extising value..
    thanks in advance......

    Hi
    For that you can use either validate or lost focus event
    Private Sub SBO_Application_ItemEvent(ByVal FormUID As String, ByRef pVal As SAPbouiCOM.ItemEvent, ByRef BubbleEvent As Boolean) Handles SBO_Application.ItemEvent
            ' BubbleEvent sets the behavior of SAP Business One.
            ' False means that the application will not continue processing this event.
            ' Validate event
            If (pVal.FormType = 133) And (pVal.ItemUID = 38) And (pVal.ColUID = 1) And _
              (pVal.EventType = SAPbouiCOM.BoEventTypes.et_VALIDATE) Then
                If (pVal.Before_Action) Then
                    'write your code
                End If
            End If
            'Lost focus event
            If (pVal.FormType = 133) And (pVal.ItemUID = 38) And (pVal.ColUID = 1) And _
             (pVal.EventType = SAPbouiCOM.BoEventTypes.et_LOST_FOCUS) Then
                If (pVal.Before_Action) Then
                    'write your code
                End If
            End If
        End Sub
    Hope this helps
    Regards
    Arun

  • InputField's Lost Focus Event?

    Dear All,
    The input field does not seem to support an onLostFocus event.
    Is there a work around?
    How can the lost focus be detected?
    Thanks and regards,
    Mayuresh

    Hi,
    As far as i know no work arounds, If you try work arounds it will be too costly in terms of performance.
    Only option is users mercy and handle it in onEnter
    Regards
    Ayyapparaj

  • ItemEvent - Event Type - Lost Focus Event

    Hi,
    Just want to ask whether what eventtype i should use for this situation.
    I want to do something when the itemcode in marketing document been key in correctly.
    At first i use the lost focus event. but i after i find that the lost focus event will keep on check where the itemcode is key in correct or not when it lost focus. Actually I want this effect but this will caurse the scoll bar cannot move.
    For example. when i put the cursor in item code column. then i go and scoll the bar. it will keep on fire the lost focus event make me cannot scoll the bar or the matrix become wrong disappeared. Any idea on it?
    Sorry i maybe not explain well. But i don know how to explain on it. Hope you all understand what I mean la.
    Regards
    Wong

    Hi Wong
    1st Try to split them
    2nd use beforeAction=true and ItemChanged = True
    If you have 2005/2007 version on the item code et_choose_from_list and validate are similar...
    If pVal.ItemUID = "38" then
    if pVal.ColUID = "1" And pVal.EventType = SAPbouiCOM.BoEventTypes.et_VALIDATE then
      if pVal.ItemChanged=True And pVal.BeforeAction = True then
      **** do something
      end if
    end if
    end if
    or
    If pVal.ItemUID = "38" then
    if pVal.ColUID = "1" And pVal.EventType = SAPbouiCOM.BoEventTypes.et_choose_from_list then
      if pVal.BeforeAction = True then
      **** do something
      end if
    end if
    end if
    Regards,
    J.

  • Re:Lost focus event

    Hi all,
    I have written some code in lost focus event.But the lost focus event is not firing.i didn't set any filters.please help me to sollve my problem.
    Regards
    Mohana

    Hi,
    try this
    If pVal.ItemUid = "Uid" And pVal.EventType = SAPbouiCOM.BoEventTypes.et_LOST_FOCUS And pVal.BeforeAction = False  and pval.charpressed=9 Then
    end if
    '9'  is the item which gets fired when tab is pressed
    it's better to write keydown if ur using tab
    and coming to firing a event i gave the code before._refere to ur previous replie's_

Maybe you are looking for