InputLOV LaunchPopup Event Tab Out

Dear all,
When I press 'Tab' or 'Enter' in the InputLOV, it will trigger the 'LaunchPopupEvent' but if I press '->' (right key), it will not trigger the 'LaunchPopupEvent'. Is there any way to suppress the 'LaunchPopupEvent' when pressing 'Tab' or 'Enter' key in the InputLOV field?
I need to keep the LaunchPopupListerner method since I need it for the customize popup when user click on the 'search' key. Thanks a lot.
Regards,
Andrew

Ok... this is my "brilliant" solution (thank you, ADF, for making do stuff like this ... so very often)
<code>
public class LifeCycleListener implements PhaseListener {
@Override
public void beforePhase(PhaseEvent phaseEvent) {
if(phaseEvent.getPhaseId() == PhaseId.APPLY_REQUEST_VALUES){
String actionId = phaseEvent.getFacesContext().getExternalContext().
getRequestParameterMap().get("event");
String event = phaseEvent.getFacesContext().getExternalContext().
getRequestParameterMap().get("event."+actionId);
if(event!=null){
if(event.contains("<k v=\"action\"><s>tab</s></k><k v=\"type\"><s>lovInternal</s></k>")){
System.out.println("skipping everything ... this event is useless showing popup on tab in inputComboLOV and btw applies values with no validation and breaks everything keeping invalid values applied to the model(displ attr inputvalue in the viewobject) as well");
FacesContext.getCurrentInstance().renderResponse();
</code>

Similar Messages

  • Tab out event for messageInput Text field

    Hi All,
    Can some of you please help me how to handle validation based on tab out.
    I have a field of messageInput text type in OAF standard page where user can enter a number in decimals like 11.19, 21.23 etcetera. I want to raise a message "Please enter an absolute value" the moment user enters a number with decimals and tab out. which means user will only be allowed to enter absolute values like 1,2,3,4,5..............
    Looking forward to receiving feedback.
    Thanks
    -Sunil

    Hi Sunil ,
    Since its a standard OAF page , you need to handle it through controller extension .
    Here are the steps :
    1 ) Attach PPR programtically ( In processRequest of your controller class )
    2 ) Catch the PPR Event (In processFormRequest of your controller class ) and get the value entered value
    3 ) Check if the value has any decimal point exist ( use String function in java ) and through exception accordingly .
    Code for handling fire action ( In written in your extended controller class )
    Import
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;
    In PR :
    OAMessageTextInputBean stb1=(OAMessageTextInputBean)oawebbean.findIndexedChildRecursive("BeanID"); // replace the exact bean id
    i if (stb1!= null)
    FireAction firePartialAction = new FirePartialAction("pprEvent");
    stb1.setAttributeValue(PRIMARY_CLIENT_ACTION_ATTR, firePartialAction);
    stb1.setFireActionForSubmit("pprEvent",null,null,true);
    In PFR :
    if ("pprEvent".equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM)))
    OAMessageTextInputBean stb1=(OAMessageTextInputBean)oawebbean.findIndexedChildRecursive("BeanID"); // repalce your exact bean id
    String MessageTextValue= stb1.getValue().toString();
    if(MessageTextValue != null)
    String.parseString(MessageTextValue ).contains("."); // Check if this returns true / false
    Throw message here accordingly .
    Let me know if its not clear
    Keerthi

  • URGENT ISSUE Flexfield segment disabling on tab out event

    I have a flexfield on my page.
    i have to set one flexfield segment(A) disabled when we tab out of the other flexfield segment(B) (i.e.wen B loses focus)
    how do we capture such an event and show results thru a controller class?
    Is it a case of partial page rendering..?
    Pls help

    Kindly tell me even if it is technically feasible..??
    Pls respond

  • How to populate the data in fields if we tab out at one field

    Hi Gurus,
    I am new to OAF Technology and I've new requirement in custom OAF page.
    We have 12 fields like ID, Fname, Lname, Age, Address, Tphone etc..
    If we enter ID in message text input field box and tab out, then it should populate all the remaining fields data by default.
    Could anyone help me regarding this requirement?
    Thanks in Advance
    Sruthi

    Hi,
    Sruthi wrote:
    I am new to OAF Technology and I've new requirement in custom OAF page.
    We have 12 fields like ID, Fname, Lname, Age, Address, Tphone etc..
    If we enter ID in message text input field box and tab out, then it should populate all the remaining fields data by default.
    Could anyone help me regarding this requirement?---MessageTextInput filed set Action property:FirePartialAction and Event:TextInput
    ---Get the Event in co PFR
    if("TextInput".equals(pageContext.getParameter(EVENT_PARAM)))
    AM.setDafultValue();
    ---Write a method in AM
    public void setDafultValue()
    VOImpl vo=getVO1();
    if(vo!= null)
    vo.getCurrentRow().setAttribute("Number1","DefaultValue1");
    vo.getCurrentRow().setAttribute("Number2","DefaultValue2");
    ---Like this u can set default value when tab out.
    Regards
    Meher Irk

  • Why can I not tab out of table cell after running command from keyboard

    In my Jtable I have context menu with actions that can be performed on the selected cells either using mouse, or the action can be initiated directly from the keyboard using the defined acceleratorkey.
    After the action has completed you can tab out of the selected cells using the Tab key or cursor keys if the action was initiated with the mouse, but not if initiated with the keyboard but Im at a loss as to what causes the difference.
    thanks Paul

    I found this one someWhere, maybe check your code if Cell returns true = isCellEditable(row, column)
    import java.awt.event.*;
    import javax.swing.*;
    public class TableActions extends JFrame {
        private static final long serialVersionUID = 1L;
        public TableActions() {
            JTable table = new JTable(15, 5) {
                private static final long serialVersionUID = 1L;
                @Override
                public boolean isCellEditable(int row, int column) {
                    return column % 2 == 0;
    //              return false;
            table.setPreferredScrollableViewportSize(table.getPreferredSize());
            JScrollPane scrollPane = new JScrollPane(table);
            getContentPane().add(scrollPane);
            InputMap im = table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
            //  Have the enter key work the same as the tab key
            KeyStroke tab = KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0);
            KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
            im.put(enter, im.get(tab));
            //  Disable the right arrow key
            KeyStroke right = KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 0);
            im.put(right, "none");
            //  Override the default tab behaviour
            //  Tab to the next editable cell. When no editable cells goto next cell.
            final Action oldTabAction = table.getActionMap().get(im.get(tab));
            Action tabAction = new AbstractAction() {
                private static final long serialVersionUID = 1L;
                @Override
                public void actionPerformed(ActionEvent e) {
                    oldTabAction.actionPerformed(e);
                    JTable table = (JTable) e.getSource();
                    int rowCount = table.getRowCount();
                    int columnCount = table.getColumnCount();
                    int row = table.getSelectedRow();
                    int column = table.getSelectedColumn();
                    while (!table.isCellEditable(row, column)) {
                        column += 1;
                        if (column == columnCount) {
                            column = 0;
                            row += 1;
                        if (row == rowCount) {
                            row = 0;
                        if (row == table.getSelectedRow()//  Back to where we started, get out.
                                && column == table.getSelectedColumn()) {
                            break;
                    table.changeSelection(row, column, false, false);
            table.getActionMap().put(im.get(tab), tabAction);
        public static void main(String[] args) {
            TableActions frame = new TableActions();
            frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
            frame.pack();
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
    }

  • Is the PSE12 Organizer event tab really that clueless?

    In PSE12 how does one display the icons under the event tab in a categorized tree structure?
    In my PSE10 catalog, I have a highly structured event tag tree for 30,000 pictures and videos covering 15 years.  This tree has annual main categories and then numerous events in 2nd level subcategories under each year.  Below that are tags for which camera/person took the picture as well as other tags for videos, panorama-segments etc.  Altogether there are probably several hundred or more subcategories.   After importing the catalog into PSE 12 all of these subcategories show up in the top level display causing massive duplication that scrolls for 12 or more screens.
    The PSE12 event tab is useless if it can only display every subcategory all at once in a flattened format.  I also do not see any way to move these subcategories out of the events tag area and into the keyword tag area to help eliminate clutter.  Please help me not hate PSE12 so I can migrate off 10.

    Thanks very much for the reply and yes I was aware of that on the media tab but it no longer gives you the easy right click options that the previous versions had, like for example quickly excluding a subcategory tag of a certain main category of tags.  Shouldn't the events tab allow a hierarchical view so one could drill down to the desired event subcategory?  I don't understand why you can create groups under the events tag header but then not be able to display those groups under one icon on the events tab.  Otherwise the new events tab just seems very cluttered, cumbersome to use and extremely limiting in purpose.

  • Problem while tabbing out of a cell

    I have a JTable in which if I enter an invalid data in a particular cell and tab out, after showing the error message the cursor should be brought back to the error cell. I was able to do this with the following code.
    isCellEditable(int row, int col){
    tblDamageDetials.changeSelection(errorRow,errorCol,false,false);
    tblDamageDetials.setEditingColumn(errorCol);
    errorRow and errorCol will have the row and col where the invalid data is present.
    This will act like a lock and will never let u out of the error cell if u tab again. But I want the error message to appear everytime I tab out of the error cell.
    The code to display the error message is invoked from the method setValueAt().
    But the problem is when I try to tab out of the cell again, I'll not be getting the error message again.This is because the setValueAt method will be called only if the cursor is on the celleditor. But the above code will not put the cursor on the editor, instead it will be on the renderer only. So while tabbing the setValueAt will not be invoked.
    I tried bringing the focus to the editor by using tblDamageDetials.editCellAt(erroRow,errorCol);
    Then I am getting StackOverFlow error.
    Could somebody please help me out.

    Thanks for the help.I tried implementing what u told, but still I'm getting StackOverflow exception.I'm getting the exception at editCellAt() method.
    I'll paste my code here.If possible please look into it.
    import javax.swing.*;
    import javax.swing.event.ListSelectionListener;
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.table.AbstractTableModel;
    import javax.swing.table.JTableHeader;
    import javax.swing.DefaultCellEditor;
    import java.awt.*;
    public class TestTable extends JFrame {
    public static final int firstCol = 0;
    public static final int secondCol = 1;
    public Object[][] tableData = {{"", ""}, {"", ""}};
    public String[] colName = {"First Col", "Second Col"};
    public TableModel tableModel = new TableModel();
    public JTable tblDamageDetials = new JTable(tableModel);
    public int rowSelected = 0;
    private JScrollPane slpDemageDetails = null;
    private JTextField txfDamageComponent = new JTextField();
    private JTextField txfRepair = new JTextField();
    private boolean checkFlag = true;
    private int errorCol = -1;
    private int errorRow = -1;
    MyCellEditor myCellEditor = null;
    TestTable() {
    this.getContentPane().setLayout(new BorderLayout());
    this.getContentPane().add(getslpDemageDetails(), BorderLayout.CENTER);
    private JScrollPane getslpDemageDetails() {
    if (slpDemageDetails == null) {
    createTable();
    return slpDemageDetails;
    public static void main(String args[]) {
    TestTable test = new TestTable();
    test.show();
              test.setVisible(true);
    test.setSize(800, 500);
    class TableModel extends AbstractTableModel {
    public int getColumnCount() {
    return colName.length;
    public int getRowCount() {
    return colName.length;
    public String getColumnName(int col) {
    return colName[col];
    public Object getValueAt(int row, int col) {
    return tableData[row][col];
    public Class getColumnClass(int c) {
    return getValueAt(0, c).getClass();
    public boolean isCellEditable(int row, int col) {
    if ((errorCol != -1) && (errorRow != -1)) {
    tblDamageDetials.editCellAt(errorRow, errorCol);
    checkFlag = true;
    EventQueue.invokeLater(new Runnable() {
    public void run() {
    myCellEditor = null;
    myCellEditor = (MyCellEditor) tblDamageDetials.getCellEditor(errorRow, errorCol);
    myCellEditor.getTextField().requestFocus();
    return true;
    public void setValueAt(Object value, int row, int col) {
    if (value == null) {
    return;
    tableData[row][col] = value.toString();
    if (col == firstCol) {
    if (checkFlag) {
    checkFlag = validateData();
    if (checkFlag) {
    errorCol = -1;
    errorRow = -1;
    fireTableCellUpdated(row, col);
    public void createTable() {
    tblDamageDetials.getTableHeader().setReorderingAllowed(false);
    tblDamageDetials.setBackground(Color.white);
    tblDamageDetials.setSelectionBackground(new Color(254, 254, 254));
    tblDamageDetials.setRowHeight(20);
    JTableHeader header = tblDamageDetials.getTableHeader();
    Dimension dim = header.getPreferredSize();
    dim.height = 40;
    header.setPreferredSize(dim);
    tblDamageDetials.getColumnModel().getColumn(firstCol).setCellEditor(new MyCellEditor(txfDamageComponent));
    tblDamageDetials.getColumnModel().getColumn(secondCol).setCellEditor(new MyCellEditor(txfRepair));
    ListSelectionModel rowSM = tblDamageDetials.getSelectionModel();
    rowSM.addListSelectionListener(new ListSelectionListener() {
    public void valueChanged(ListSelectionEvent e) {
    if (e.getValueIsAdjusting()) return;
    ListSelectionModel lsm = (ListSelectionModel) e.getSource();
    if (lsm.isSelectionEmpty()) {
    rowSelected = -1;
    return;
    } else
    rowSelected = lsm.getMinSelectionIndex();
    slpDemageDetails = new JScrollPane(tblDamageDetials);
    slpDemageDetails.setName("slpDemageDetails");
    dim = new Dimension(454, 500);
    slpDemageDetails.setPreferredSize(dim);
    slpDemageDetails.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
    slpDemageDetails.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    } /* End of createTable method */
    private boolean validateData() {
    boolean checkFlag = true;
    int size = tblDamageDetials.getRowCount();
    for (int i = 0; i < size; i++) {
    if ((checkFlag) && (getParseFloat(tableData[i][firstCol].toString().trim()) == 0)) {
    JOptionPane.showMessageDialog(null, "invalid data");
    checkFlag = false;
    errorCol = firstCol;
    errorRow = i;
    return checkFlag;
    public float getParseFloat(String value) {
    float retValue = 0.0f;
    try {
    retValue = Float.parseFloat(value);
    } catch (NumberFormatException e) {
    retValue = 0.0f;
    return retValue;
    } /* End of getParseFloat method */
    class MyCellEditor extends DefaultCellEditor {
    private JTextField tf;
    public MyCellEditor(JTextField text) {
    super(text);
    tf = (JTextField) editorComponent;
    public JTextField getTextField() {
    return tf;
    Hope somebody will be able to help me.
    Thanks,
    Ashey

  • When I open up iphoto and click on the events tab then double click on an event, it used to show minis of all the photos in that event.  Now it shows only one photo at a time.  How do I get it back? Can you help?

    When I open up iphoto and click on the events tab then double click on an event, it used to show minis of all the photos in that event.  Now it shows only one photo at a time.  How do I get it back? Can you help?

    On the bottom bar of the window (on the left iPhoto 11, on the right in other versions) note the slider. Drag it left.
    Regards
    TD

  • How do I create a new row on tab out of the last column, last row?

    JDev 11.1.2.1.0.
    I've seen a few topics on this but none that I think were really very good solutions.
    Use Case:
    On tab out of the last column in the last row, a new row should be added to the end of the table. Bonus points for setting the focus to the first <af:inputText> of the newly created row.
    Complications:
    1. I'm having a heck of a time trying to find a function that returns the column's displayed index. Sadly, <column binding>.getDisplayIndex() returns -1 unless the user has manually re-ordered the column.
    2. Value Change Listeners only fire if there is a value change. Guess that means I need to do client/server listeners to check each and every <af:inputText> for a tab press?
    3. I'm not even going to get into setting the focus. With all the templates, regions, etc. going on, it's dang near impossible.
    Any ideas on how to attack this one?
    Will

    Hi,
    You will need to use the Run Engine Installation Wizard found on the Tools menu. In addition you need to create a installation set for the operator interface.
    Look at Chapter 16 Distrubuting TestStand ( chapter 17 for version 2).
    Once you have created your installation, install is on your new system.
    The serial number etc is part of the process model. When you run the entry point 'Test UUTs' the PreUUT callback is executed which asks the user for the serial number.
    Hope this helps
    Ray Farmer
    Regards
    Ray Farmer

  • A black bar appeared at the bottom of the new window after I drag a tab out.

    this is actually an issue back in the mavericks safari, but the problem was somehow solvable and was not appearing every time.
    after upgrading to Yosemite, this problem appears every time.
    The problem is : when I have several tabs, then I drag a tab out, which you can see the minimized window.
    After you release it, it will become a new window as expected and intended. BUT there will be a black bar underneath.
    In the Youtube website, you can see that the upper part of the site is actually being blocked by the toolbar.
    ( I had waited for several seconds to let the toolbar to get to its original position )
    Clearly the black bar at the bottom caused this problem.
    It's a very annoying issue.
    I am not sure if it's a problem of Yosemite or Safari. But back in to mavericks, the problem also existed.
    Is there anyone out there having the same problem?
    How to Fix it ?
    P.S.1 HOWEVER, if i right-clicked the tab and select "move tab to a new window", the problem DOES NOT exist.
    P.S.2 I am using Mac Book Air(13", Mid 2013),  OS X Yosemite  (10.10.2)

    In the App store window at the top click on Purchases. Your download progress is there. If the progress seems to have stalled, click on the pause button and then restart the download. It should pick up where it left off.
    HTH

  • Delegated Object's event not appearing in the "start event" tab

    Hi,
    I have created a object type say Y00Mara( copy of BUS1001) ....then created a subtype from it  ...called Ymara00.
    then I created a deleegation ...if I test the supertype i can now see the new objects/attributes etc...
    I also added one event "old_material_changed"  in the subtype and changed the status on both the subtype and delegted obj to "implemented".
    when i am trying to use this delegated obj in the "start event" tab of a WF ...the new event "old_material_changed" is not appearing...
    what maay be thhe reason

    HI,
    Please maintain the delegation with the subtype ( Y00Mara)  and supertype ( BUS1001 ) by using transaction SWE_SET_DELEGATION. Now run the above transaction.
    Click on new entres.
    Enter the follwoing values...
    Object type  :  BUS1001
    Person responsible : your sap user id
    Delegation type :  Y00Mara
    Save it.
    Now whenever you use BUS1001, all the custom mentod, events will be available there.
    Thanks and regards,
    SNJY

  • How to convert the date in the Parameter from to mm/dd/yyyy when you tab out of field

    Hello,
    Can some one help me out in Oracle Reports 3.0 version i am trying to
    set in the parameter form two date fields to mm/dd/yyyy.
    my questions is can we set the both of the date fields to if the user
    enters as 010202 and Tab out of the field it should automatically
    format to 01/02/2002.
    i know we can do this in forms but in the parameter form when you are
    sending as parameter to the report i am unable to do it.
    try to set date as format mask in properties but doesnt help..
    any body have any idea will be appreciated much..
    thanks in advance.

    Hi!
    Try to use dd/mm/rrrr format mask. I use it in my reports and it works fine for me. My user can enter 010101 in a date field and it is properly recognized as 01/01/2001 by reports.
    Hope it helps.

  • Issue: LOV tabbing out loses focus

    Hi all,
    I've realised that typing some characters in a LOV field and tabbing out results in the following:
    1. The LOV popup window opens, then you select a value and the value is returned to the lov field.
    2. At this moment, the focus is LOST. I would expect the focus to be again at the lov field.
    This doesn't reproduce if you open the LOV with the LOV icon. In this case, the focus returns to the lov field, as expected.
    Is this a bug?
    Does anybody know how to solve it?
    Thanks in advance
    Version
    ADF Business Components 11.1.1.56.60
    Java(TM) Platform 1.6.0_18
    Oracle IDE 11.1.1.3.37.56.60

    Hi a.gruev,
    Thanks for your reply. I did some investigation and found that this has to do with IE8 only:
    Firefox 3.6: you enter some chars, the LOV opens, you select the value and finally, the mouse cursor stays at the end of the lov field value. OK.
    Chrome 7.0: exactly the same, but now the lov field value gets selected and then, the focus remains at the lov field. OK.
    Internet Explorer 8.0: works if I enter part of the value (which launches the LOV); if I enter the exact match, the focus is LOST. KO.
    Unfortunately we can't get rid of IE, so any suggestions for fixing this for IE will be appreciated.
    Barbara
    Edited: Anybody knows whether this is a bug?
    Edited by: Barbara Gelabert on 19-nov-2010 9:09
    Edited by: Barbara Gelabert on 22-nov-2010 6:39

  • Can't drag a tab out

    The demo video and help both state you can drag a tab out of the current window to the desktop to make a new window with that tab. Does not work on my Windows XP system. Work for anyone else?

    Also important to note, if you want to take a separate window and make it a tab in a different window, make sure the "Show Tab Bar" under the View menu is selected, and as with removing a tab, click on it and drag it downward from the tab bar and drag and drop it onto the tab bar of the other Safari window.

  • How do you tab out of JTextArea?

    When using the tab key to change focus from one
    JComponet to the next, how do you tab out of, and
    into next JComponent when you're in an editable
    JTextArea? Is it possible?

    Move to the bottom of the text in a JTextArea with VK_CONTROL + VK_END.
    Better yet, here is how to find all the input actions that you can trigger when focus is on a JTextArea (or any given JComponent)
    JTextArea text = new JTextArea();
    InputMap im = text.getInputMap();
    KeyStroke[] ks = im.allKeys();
    SortedMap map = new TreeMap();
    for(int i=0; i<ks.length; ++i)
        map.put(im.get(ks), ks[i]);
    for(Iterator i = map.entrySet().iterator(); i.hasNext() ; ) {
    Map.Entry pair = (Map.Entry) i.next();
    System.out.println(pair.getKey() + "\n\t" + pair.getValue());

Maybe you are looking for

  • What is reason for cl_fpm_factory= get_instance( ) return initial value?

    In DEV system, this piece of code is working fine. However when it moves to Testing system it dump due to cl_fpm_factory=>get_instance( ) return initial value. What could be the reason for this? Thanks!   data lo_fpm  type ref to if_fpm.   lo_fpm = c

  • Can not access communication channels

    We could not access Communication channel & other configuration objects from integration builder and we are getting the following error, Attempt to access application REPOSITORY using Http Method Invocation (HMI) failed. Detailed information: Invokin

  • Help me,About invoking PopUpManager.addPopUp problem in Flex 4 Module

    hello,when I invoke PopUpManager.addPopUp(),have a problem. detail from the fellowing program code; <?xml version="1.0" encoding="utf-8"?> <mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009"            xmlns:s="library://ns.adobe.com/flex/spark" widt

  • IPod Touch 3rd Generation QUESTION

    After i use the ipod touch for 5 or even 15 min the screen still stays on. How do I adjust this to have the touch go to sleep after a certain amount of time?

  • How do I log in to WLS programatically.?

    Hello All, I'm looking to write a simple java program that logs into weblogic server (10.3) and authenticate a user in this process. I've looked at the API's and find methods like login() but also see snippets of code where environments and configura