Set cursor to a component
hi, i am just wondering if anyone can tell me how can i actually place a cursor onto a certain component!
thx in advance!
You mean like cause the cursor to move to a specific spot on the screen? Or change the cursor icon when it isover a certain component. Either can be done, the first with the java.awt.Robot class and the second by just calling setCursor( Cursor ) on a component.
Similar Messages
-
How to set cursor in a component by default
Hi all,
Does anybody know how to set the cursor inside a textArea? or at any particular component of a frame?
Thanks in advance.textAreaObj.requestFocus() doesn't do it?
If that doesn't do it, then try textAreaObj.setSelectionStart(0).
You may have to force a repaint(), possibly, as well. -
Set cursor in Control String component
Hello:
I would like to set cursor in "Control String" automatically when I open my VI. If I open my VI, cursor should be seen automatically in the text field of "Control String". The user hasn`t set cursor by mouse into this field. Has anybody an idea how can I do?
Thanks!Create a property node for the control on your block diagram and set the Key Focus property value to TRUE.
http://zone.ni.com/reference/en-XX/help/371361H-01/lvprop/ctrl_key_focus/
Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.
"You are what you don't automate"
Inplaceness is synonymous with insidiousness -
JFrame.setCursor (not setting cursor)
I'm creating an application where I need to run an expensive operation. I've set it up to use a SwingWorker type of deal.
What I do is listen for the button to be clicked. It then sets the cursor on the parent JFrame to the wait cursor and then starts the Worker Thread.
The worker Thread runs it's process and resets the cursor to the default.
However, when I set the cursor on the JFrame, I only notice the change when I mouseover the clicked button.
There are a lot of components in the application I really don't want to have to go through and set the cursor for each component manually.
Any help would be greatly appreciated.
Thanks,
Eric
My actionPerformedMethod.
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if(source instanceof Component) {
Component root = SwingUtilities.getRoot((Component)source);
if(root instanceof JFrame) {
int winW = root.getWidth();
int winH = root.getHeight();
compilingLabel.setLocation((winW - labelSize.width) / 2, (winH - labelSize.height) / 2);
((JFrame)root).getLayeredPane().setLayer(compilingLabel, JLayeredPane.POPUP_LAYER.intValue());
((JFrame)root).getLayeredPane().add(compilingLabel, JLayeredPane.POPUP_LAYER);
((JFrame)root).setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
root.repaint();
root.setVisible(true);
new CompileThread(e).start();
}I've also tried using getWindowAncestor with the same results.I always use the JFrame's glasspane to do this. You set the hourglass cursor on the glasspane, and you must also register a MouseListener on the glasspane (the MouseListener doesn't have to do anything, but you must still have it there. Don't ask me why.). When you want to show the hourglass cursor you call setVisible(true) on the glasspane, and to display the normal cursor you call setVisible(false) on it. To sum it up:
// Set the cursor on the glasspane and register an empty MouseListener:
frame.getGlassPane().setCursor( Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR) );
frame.addMouseListener( new MouseAdapter() {} );
// To display the hourglass cursor:
frame.getGlassPane().setVisible(true);
// To restore the normal cursor:
frame.getGlassPane().setVisible(false);Hope this helps. -
Set cursor in a specific view of transaction MM01/MM02
Hi,
We have to check a condition in the user-exit EXIT_SAPLMGMU_001, for transaction MM01/MM02, and if the condition fails the client wants to set the cursor in a specific field from a specific view. Is it possible? I tried to use the sentence SET CURSOR referenced to a remote program but it doesn't work.
Does anybody knows how to solve this problem?
Thanks in advance
Regards
MaribelHi
I hope, you have read the documetation attached with this Standard Enhancement - MGA00001.
EXIT_SAPLMGMU_001
Where Is the Customer Exit - EXIT_SAPLMGMU_001 called?
The customer exit is in function module MATERIAL_UPDATE_ALL. The
function module checks the data for errors (logical relationships,
foreign keys, fixed domain values, and so on) when the material master
is updated.
Use
o New fields
You can make checks possible for new fields of your own. These
checks must be identical to the checks that you carry out for your
new fields in online maintenance.
o Existing fields
For existing fields, you can extend and intensify the checks.
You can also change data for descriptions and general material data
(MARA). For example, the descriptions can be generated from attributes
of the material.
Limitations
You cannot bypass existing checks.
Interface to Application
The respective data of the current logical transaction is contained in
the structures, for example, in structure WMARA for MARA. Nonrelevant
structures are transferred with their initial values.
General material data that can be changed (CMARA) has the structure
MARU. This MARA view contains fewer internal fields than MARA itself. If
WMARA is filled, CMARA is also filled when accessed.
The customer exit contains the exception APPLICATION_ERROR for your
self-defined error situations.
Using the language element MESSAGE .. RAISING APPLICATION_ERROR, you can
terminate the current (logical) transaction and display your message in
the log.
Also, I guess, have you put some code in the Includes available with the EXITS and then activated the Project in CMOD.
<b>Reward points</b>
Regards -
Make sure both attached files (Run LabVIEW_Cursor_TestCase.vi, SimpleVI.vi) are in the same folder. Run LabVIEW_Cursor_TestCase.vi notice that the -3 error code is returned from "Set Cursor.vi" after it has been called with 30 different panel refs. If "Set Cursor.vi" is replaced with "Set Busy.vi" the same error occurs.Is there a workaround for this problem other that setting the cursor image manually in user32.dll? I must be able to open more than 30 panels and set them all to busy. In the test case I used a single VI, simply to demonstrate the error.
Message Edited by Jerred on 05-04-2007 10:06 AM
Attachments:
LabVIEW_Cursor_TestCase.vi 68 KB
SimpleVI.vi 13 KBThis bug is fixed in LabVIEW 8.0 and later. Unfortunately, I know of no workaround in LabVIEW 7.x. When I encountered this bug in one of my UIs in LabVIEW 7.x, my "fix" was simply to ignore the error outputs from the cursor VIs, and to live with the fact that I had no custom cursors after 30 windows had been opened.
-D
Darren Nattinger, CLA
LabVIEW Artisan and Nugget Penman -
How do I set cursor.index to anywhere in the graph array?
I am using LV 8.5.1 and feeding an XY graph with an X-Y array of data. Only a section of the array is displayed on the graph. I have a cursor (single-plot).
I would like to set Cursor.Index property node of the cursor associated with the plot to the maximum index value of the graphed array regardless of the XScale range. I don't seem to be able to do it. I cannot set it beyond a certain number. When I rescale the graph I have a new maximum number. Is this what should happen?
To get around this, I am momentarily setting the XScale.ScaleFit property to 1, which then allows me to set Cursor.Index to maximum (I then immediately reduce my scale range appropriately). I am having to do this before every occurrence of setting the Cursor.Index in case the new setting exceeds the currently allowed maximum value. Just seems a bit clunky.
Thanks for any help.This is no longer a problem. My data is too big to feasibly be fed into a graph so am having to chop it up and use my own index pointer.
-
How to set cursor in table control?
I have a table control (Screen 300) to display invoice number and amount. For some checks we have around 200 invoices to be displayed. When user enters the invoice number in invoice text box and click on OK, it should highlight the invoice number and amount row or set the cursor position.
I have another problem.
Screen 300 is being called from Screen 200. When the user clicks on OK in 300, 300 is getting closed. Acutally it should be displayed with Cusor position or highlighted row.
I appreaciate your help ... ThanksI believe that you can use the SET CURSOR statement to do the first part of your requirement. Something like this should work:
SET CURSOR FIELD w_field LINE w_line.
Here's the info from SAP help:
Effect
: The cursor is positioned on the screen element whose name is contained in upper case in field. The data object field must be character-type and flat. The screen layout or a table control is scrolled in the display so that the screen element on which the cursor is positioned is visible. If the specified screen element is not found, the statement is ignored.
If the specified screen element is part of a table control or a step loop, the line of the table control or group of the step loop in which the cursor is positioned on the specified screen element must be specified using the addition LINE. For the data object line, the type i is expected. If there is no line or group for the value of line, or the addition LINE is not specified, the statement is ignored. The statement is also ignored if the addition LINE is specified and the screen element is not part of a table control or step loop.
I hope this helps.
- April King -
Set cursor alv grid (not using objects)
I got a question on ALV GRID (not using objects), please let me know if you have pointers. Thanks.
Output has 2 screens both has different contents. The output is generated using internal table1 and 2 and using FM 'REUSE_ALV_GRID_DISPLAY_LVC' (both screen use same FM).
First screen has multiple pages of output (say 10 pages). User scrolled page 5 and line 10 of first screen and then double clicked it takes to screen #2. After completion of screen #2, the back arrow should get back to page 5 and line 10 of screen #1. Currently the back arrow gets to screen#1 page 1 and line 1. How to remember the cursor position in alv grid and instruct the cursor to go there?
Appreciate the input.
Note: I tried "set cursor line n" with "Scroll" command but no luck. http://help.sap.com/saphelp_nw70/helpdata/EN/9f/dba47e35c111d1829f0000e829fbfe/content.htmThanks for the inputs.
FYI, I got it implemented using method CALL METHOD <ref.var. to CL_GUI_ALV_GRID > ->set_current_cell_via_id
The method is called by 'REUSE_ALV_GRID_DISPLAY_LVC' form 'PF_STATUS_SET' when the ALV grid output is presented each time.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_bypassing_buffer = 'X'
i_callback_program = gc_repid
i_callback_pf_status_set = 'PF_STATUS_SET'
i_callback_user_command = 'USER_COMMAND'
is_layout_lvc = lwa_layout
it_fieldcat_lvc = git_fc_lvc
i_default = ' '
TABLES
t_outtab = git_data
EXCEPTIONS
program_error = 1
OTHERS = 2.
FORM alv_event_pf_status_set USING rt_extab
TYPE slis_t_extab.
DATA lo_ref1 TYPE REF TO cl_gui_alv_grid.
*Get the reference to class "lo_ref1" for the ALV report
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = lo_ref1.
*set the focus of cursor in ALV
CALL METHOD lo_ref1->set_current_cell_via_id
EXPORTING
is_row_no = gv_row. "row number where you want to focus the cursor
ENDFORM. -
How to set cursor in perticular field Table Maintence generator?
Hi
All
I have created a table with 2 fields Start_date and End_date. Now my requirement is i have to validate the both date field as Start_Date must be LESS than or EQUAL to End_Date. In table maintenance maintenance generator i have created a event VALIDATE_DATE in event 21. Its validating perfectly. The issue is after the ERROR message the Cursor is going to the key field. I want to set the cursor at End_Date field.
I used
data:ly_pos type i.
IF NOT start_date LE end_date.
SET CURSOR FIELD 'TABLE_NAME-END_DATE' LINE sy-linno OFFSET lv_pos.
MESSAGE exxx(MsgClass).
ENDIF.
Its working for the FIRST time i am entering the new data. Next time the cursor going to the KEY field. I have been asked not to write code in SE80. Anyhow i have to set the cursor in table maintenance maintenance generator event.
Can anybody help?Hi Sourav,
Please follow the below method:
Go to Maintainance Screen (where you want the cursor setting). Goto Status - > Remember the screen name -> Double click on Program name.. Open Object list and expant Screen Tree -> double click on the same screen Number -> Go to its first tab attributs -> Change Mode -> Do F4 on Cursor Position field -> Choose the field where you want the cursor.
But this way will always set the cursor at the HardCoded Field Name.
Thanks,
Preyansh -
Set cursor on error field in selection screen
Hi ALL,
How to place the cursor on a particular selection screen field?I am doing validation if validation fails for a particular field the program should give error mesg and the cursor should place on the error field only but it's going to the Ist field on the selection can somebody tell me how do this? I tried with set cursor field <fieldname) but not working I am doing validations on at-selection screen.
Thanks&Regard
maheshHi chandrasekhar find my code below
this code i am writing under at selection-screen.
*& Form Z_VALIDATE_TVKOV
FORM z_validate_tvkov .
DATA: i_vtweg LIKE vbak-vtweg.
IF NOT s_vtweg-low IS INITIAL.
SELECT SINGLE vtweg FROM tvkov INTO i_vtweg
WHERE vtweg = s_vtweg-low.
IF sy-subrc <> 0.
set cursor FIELD 'S_VTWEG-LOW'.
MESSAGE e000(z_sd) WITH text-052.
ENDIF.
ENDIF.
IF NOT s_vtweg-high IS INITIAL.
SELECT SINGLE vtweg FROM tvkov INTO i_vtweg
WHERE vtweg = s_vtweg-high.
IF sy-subrc <> 0.
MESSAGE e000(z_sd) WITH text-052.
ENDIF.
ENDIF.
ENDFORM. " Z_VALIDATE_TVKOV -
Hi guys,
I generated a report which gives out put in ALV grid.
In the ALV grid output, I have some editable fields.
Lets suppose, there are some editable fields with no data in it.
I have userdefined pushbutton in Application toolbar, when I press the pushbutton the cursor should go to the empty field in the ALV grid output.
Can this be possible through SET CURSOR statement?
Thanks,
Shivaa......Hi,
You can set the cursor field on the output list that too for the output fields which are vissible on the screen only.
syntax
SET CURSOR 11 3. ---> 11Coloumn and 3 line
for dynamically setting cursor, first you have to search for the empty fields then set the cursor dynamically.
look at this help document it might be helpful
http://help.sap.com/saphelp_nw70/helpdata/EN/9f/dba47e35c111d1829f0000e829fbfe/content.htm
Regards
Bala KRishna -
Set-Cursor In TableControl Help Help Help
Hello Friends
Please HelpOut for Sure
i had an table control which is filled by internal Table itab_emp
i m applying condition on that internal table
its giving error message
i want that cursor should be placed to that position that gives errormessage
i m sending u code
Just tell me changes
LOOP AT ITAB_EMP WHERE MARK = 'X' .
IF SY-SUBRC = 0.
ITAB_TEST[] = ITAB_EMP[].
DELETE ADJACENT DUPLICATES FROM ITAB_TEST.
LOOP AT ITAB_TEST.
CLEAR SUM .
LOOP AT ITAB_EMP WHERE PERID = ITAB_TEST-PERID.
SUM = SUM + ITAB_EMP-OTIME.
IF SUM > '100000'.
MESSAGE E018.
<b>ELSEIF ITAB_EMP-OTIME > '010000'.
MESSAGE E017.
SET CURSOR FIELD ITAB_EMP-OTIME .</b> ELSE.
MOVE-CORRESPONDING ITAB_EMP TO ITAB_OTAPP .
ITAB_OTAPP-OBJID = 1.
ITAB_OTAPP-INACT = 'X'.
ITAB_OTAPP-TODTE = ZHR_PR_M_OTAPP-TODTE.
ITAB_OTAPP-FRDTE = ZHR_PR_M_OTAPP-FRDTE.
ITAB_OTAPP-IMMHD = ZHR_PR_M_OTAPP-IMMHD.
ITAB_OTAPP-CRETM = SY-UZEIT.
ITAB_OTAPP-CREON = SY-DATUM.
ITAB_OTAPP-CREBY = SY-UNAME.
APPEND ITAB_OTAPP.
ENDIF.
ENDLOOP.
ENDLOOP.
endif.
endloop.
LOOP AT ITAB_OTAPP INTO WA_ITAB_OTAPP.
MODIFY ZHR_PR_M_OTAPP FROM WA_ITAB_OTAPP.
ENDLOOP.
BOLD lines are the condition checking
if check all the lines and then if any of the line gives error it reflects now i want to place cursor on that field which is giving error
sy-tabix will work
BUT HOW?????
Hope this time any of the genius gotmy problem
With Best Regards
RubySome of the logic is a bit confusing (would be easier to read if you used the "Code" button in the SDN message editor)... for example:
LOOP AT ITAB_EMP WHERE MARK = 'X' .
IF SY-SUBRC = 0.
... the "IF SY-SUBRC" won't be reached unless there is at least one row where "mark = 'X'.''...
Anyhow, where is this code implemented currently?... the usual approach to validating a table control is to have a module called inside the "loop at table control" in the PAI of the screen flow... then the contents of each row on the screen will get passed into your logic a row at a time automatically and the "set cursor field" + "message e999(zz)" type code should work as it will refer to the current row being checked.
Jonathan -
hey guys,
MODULE PAI_CHECK.
MODIFY MYTAB FROM LTAB INDEX ZTABDISP-CURRENTLINE transporting KUNRR STATUS.
SET CURSOR FIELD 'LTAB-KUNNR'
MESSAGE E005.
END MODULE.
does not allow me to put cursor at KUNNR field, instead
it stands in first column itself..
what could be the reason here..
ambichanTry setting the cursor field in the PBO.
If this is to point the user at the error which is occuring, then it should happend automatically if you are coding it correctly.
This statement should actually be in its own module.
MODIFY MYTAB FROM LTAB INDEX ZTABDISP-CURRENTLINE transporting KUNRR STATUS.
The checks should be in their own modules.
MODULE CHECK_KUNNR.
IF ltab-kunnr is initial.
message E005.
endif.
ENDMODULE.
In your flow logic, in the PAI, you should be coding your checks like this.
LOOP AT LTAB.
MODULE YOUR_MODIFY_STATEMENT.
FIELD LTAB-KUNNR MODULE CHECK_KUNNR.
ENDLOOP.
Regards,
Rich Heilman -
Hi experts,
I want to position the cursor in a screen field.
I gave SET CURSOR FIELD GS_ASSEMBLY-SERNR in PAI.
But still the cursor is not in required position.
Pls help me to do this.
Thanks.Hi Murugan ....
in the screen example 100- > in <b>Attribute's tab</b> ( first tab ) there is Other Attriubutes block which is 3rd selection screen in the screen..
<b>Exactly below the <b>Next Screen</b> field that is the <b>Cursor position</b> .
<b>for setting the cursor on the screen</b>
<b>there do the F4</b> it will show the <b>list of the fields which are all declared in the screen by you ..</b>
<b>just select the field</b> ..... inwhich field you want to set the cursor .</b>then <b>activate</b> it ... execute and see ...
the cursor will be there on the cursor selected field .
reward points if it is usefull ...
Girish
Maybe you are looking for
-
MS Access 2003 and Data Services 3.0
I want to access MS Access 2003 from Aqualogic Data Services 3.0. The documentation tells me that Aqualogic Data Services 3.0 supports MS Access 2003 I read the "Extending Database Support" from the Administration Guide to deploy the xml file ... I d
-
BIB-9509 Oracle OLAP doesn't have created the cursor
Hello, I'm using Oracle Analytic Workspace Manager 10.1.0.4 on a database 10g enterprise edition 10.1.0.3.0. When I create a cube with more then 10 dimensions, it gives me the error: BIB-9509 Oracle OLAP non ha creato il cursore. oracle.express.idl.u
-
Change the appearance of a 'saved search stack' in dock
Hi, I read a hint on Mac OS X Hints which I particularly like, allowing for a saved search in the dock to behave as a stack showing all recently used documents. See here for the original hint. The problem I have is that the icon of this stack is a dr
-
I am looking for best practice for setting up ODI to be use for multiple users. I would like to have several users to be able to work on the same package. Can they use the same work repository? How do I use version control? Thanks, Charles
-
The box is checked in "Info" tab of iTunes, but I've tried to synch the iPad contacts multiple ways (google, yahoo, outlook). Nothing's working. I sych all my iPods including Touch and nanos just fine in this same iTunes from Outlook, but I can't get