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
AbhaI'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,
SunilHi 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. -
How implements the methods to gainer focus and lost focus?
ThanksUse 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 StefanUse 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 ?
thksIf 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,
MayureshHi,
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
WongHi 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. -
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
MohanaHi,
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
-
Is it possible to disable the screen saver for a certain app?
Is it possible to disable the screen saver just while a certain application is running? The app seems to crash when the screen saver comes on. Just so you know, application I'm using is Hogwasher; a newsgroup reader.
-
Can any one tell me how to get the no. of rows and no. of columns in an string array. ie if i have array like 1 2 3 4 4 5 6 5 7 8 9 6 in an a[][]. how to fine values ie row =3 and col = 4
-
How long does it take? re: com.sun.rowset.*
It's been years and we still don't have a solid disconnected RowSet implementation from Sun. What gives? My gripes: 1) If *RowSetImpl is "included in Java 1.5" then why didn't you add it to the javax.sql.rowset package and document it in the api java
-
Hi is there any standard bapis or RFcs are available to export GOS attachment from R/3 to external systemsv. the attachement will be exist in qm02 transaction . if in case of n attachment i have to upload latest one .
-
Cannot get firefox 4.0 to download - saved binary code download - download still doesn't work - cannot use computer until this is resolved