Problem handling JFileChooser events...

The problem I have is rather tricky to explain. I feel maybe I'm treading on an area I'm not ready for yet... but here goes:
I have a JInternalFrame with an "open" button which triggers the JFileChooser and underneath a text field to log activity. My goal is simply to have a String array of all the filenames selected ( one at a time, whilst adding to the array ).
All seems well to start with. I have a System.out.println running after each filename is added to the array, and it verifies that they are being added successfully.
The problem comes just after that... When I call for the String array, it appears to be empty!
I'm sure that this will be a foolish mistake on my behalf, but still, I'm yet to spot it!
this is the code where the filenames are added to the array:
public void actionPerformed(ActionEvent e) {
            if (e.getSource() == openButton) {
            int returnVal = fc.showOpenDialog(FileSelector.this);
            if (returnVal == JFileChooser.APPROVE_OPTION) {
            File file = fc.getSelectedFile();
            str[a] = file.getName();
            a++;
               log.append("File: " + file.getName() + " added to list" + newline);
        } else {
               log.append("Open command cancelled by user." + newline);
           log.setCaretPosition(log.getDocument().getLength());
     System.out.println(str);
}I'm not sure what other bits of code are needed, so ill hold fast.
cheers in advance for any help.
John.

The error message says it all:
"java.lang.IllegalArgumentException: cannot add to layout: constraints must be a GridBagConstraint"
You are apparently adding something to a panel that uses a GridBagLayout, but the constraint you are specifying is not a GridBagConstraints.
JPanel pnl = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
pnl.add(new JLabel("correct"), c);
pnl.add(new JLabel("wrong"), BorderLayout.CENTER);The second add in the above code will cause the error you are getting. This would also explain why it works when you are using a BorderLayout.
Here is the relevant code:The code you posted was not the relevant code. The relevant code is what takes place in your button's ActionListener. There you call the method gotoNextSection(), which you did not post.

Similar Messages

  • Problem handling data_changed event in OO ALV

    I'm displaying my internal table with an OO ALV and I'm trying to handle the data_changed event in order to do some checking before actually modify my internal table.
    this is the code of how I was planing to do that:
    handle_data_changed
            FOR EVENT data_changed OF cl_gui_alv_grid
                IMPORTING er_data_changed
                          e_onf4
                          e_onf4_before
                          e_onf4_after
                          e_ucomm.
    METHOD handle_data_changed.
    *    IF er_data_changed->mt_mod_cells-fieldname = 'COD_M'.
    *         do something
    *    else if er_data_changed->mt_mod_cells-fieldname = 'QUANTIDADE'.
    *         do something else
    *    endif.
    *  alv->refresh_table_display.
      ENDMETHOD.                           "handle_data_changed
    but it gives me this error:
    "MT_MOD_CELLS" is a table without a header line and therefore has no component called "FIELDNAME".
    My question is, how can access the cell that is being modified, and the new data?

    Dont know if this is the most clever way to do it but i solved it like this
    DATA: wa_data_changed TYPE lvc_s_modi,
              wa_tabi TYPE zsl_mat_c.
        READ TABLE er_data_changed->mt_mod_cells INDEX 1
                                                 INTO wa_data_changed.
        IF wa_data_changed-fieldname = 'COD_M'.
    *     do something
        ELSEIF wa_data_changed-fieldname = 'QUANTIDADE'.
    *     do something else
        ENDIF.
    thanks for your help

  • Problem when handling Portal events

    Hi all,
    I am trying to handle portal events between two Iviews on a same page.For this I am using all the necessary parts from coding prospectives(eg. Event fire, Subscribe event and action handler method).
    But I am not able to handle portal events.I found some properties on Iview and page level as:
    1) Web Dynpro Client on Iview level - Default auto (Some threads suggest that events only works on HTML pages).
    I change it to plain HTML, but having doubt that is this value passed to this property.
    2) ID Prefix - Default blank (I-View level)
    I assign com.sap to it and also assign application name to ID.
    Is these will affect something on Portal handling.
    I also watch some e-learning sessions, I do similer to those sessions but at my end I still facing problem.
    Please suggest what I will do more to handle Portal events.
    Thanks
    Sanket sethi

    I am using this code to  fire and catch Portal events.Please look at the code and suggest where I am lacking.
    Fire:
    data node                               type ref to if_wd_context_node.
    data portal_event_namespace  type string value 'urn:com.sap.webdynpro.testApplications.testEvent'.
    data portal_event_name          type string value 'FMP_EVENT'.
    data portal_event_parameter   type string.
      data lr_componentcontroller type ref to ig_componentcontroller .
      data l_api_componentcontroller type ref to if_wd_component.
      data lr_port_manager type ref to if_wd_portal_integration.
      lr_componentcontroller =   wd_this->get_componentcontroller_ctr( ).
      l_api_componentcontroller = lr_componentcontroller->wd_get_api( ).
      lr_port_manager = l_api_componentcontroller->get_portal_manager( ).
      lr_port_manager->fire(
        exporting
          portal_event_namespace = portal_event_namespace
          portal_event_name      = portal_event_name
          portal_event_parameter = portal_event_parameter ).
    Catch: (Register and receive parameter)
      data node                                  type ref to if_wd_context_node.
      data subscribe_hello                   type wdy_boolean.
      data  view                                  type ref to if_wd_view_controller.
      data  portal_event_namespace    type string value 'urn:com.sap.bc.webdynpro.<namerspace>.<Name>.
      data  portal_event_name             type string value 'FMPEVENT'.
    here is the name of the action where the portal event will be received!
    you have to create this action in the application!!
    data  portal_event_action_name  type string value 'RECEIVE_PORTAL_EVENT'.
      data lr_componentcontroller type ref to ig_componentcontroller .
      data l_api_componentcontroller type ref to if_wd_component.
      data lr_port_manager type ref to if_wd_portal_integration.
    DATA lo_api_component  TYPE REF TO if_wd_component.
    DATA lo_portal_manager TYPE REF TO if_wd_portal_integration.
    lo_api_component = wd_comp_controller->wd_get_api( ).
    lo_portal_manager = lo_api_component->get_portal_manager( ).
    DATA lo_api_controller  TYPE REF TO if_wd_view_controller.
    lo_api_controller ?= wd_this->wd_get_api( ).
    CALL METHOD lo_portal_manager->unsubscribe_event
      EXPORTING
        portal_event_namespace = portal_event_namespace
        portal_event_name      = portal_event_name
        view                   = lo_api_controller
      lr_componentcontroller =   wd_this->get_componentcontroller_ctr( ).
      l_api_componentcontroller = lr_componentcontroller->wd_get_api( ).
      lr_port_manager = l_api_componentcontroller->get_portal_manager( ).
      view ?= wd_this->wd_get_api( ).
       call method lr_port_manager->subscribe_event
          exporting
            portal_event_namespace = portal_event_namespace
            portal_event_name      = portal_event_name
            view                   = view
            action                 = portal_event_action_name.
      data node                              type ref to if_wd_context_node.
      data portal_event_namespace type string.
      data portal_event_name          type string.
      data portal_event_parameter   type string.
      portal_event_namespace = wdevent->get_string('PORTAL_EVENT_NAMESPACE').
      portal_event_name          = wdevent->get_string('PORTAL_EVENT_NAME').
      portal_event_parameter   = wdevent->get_string('PORTAL_EVENT_PARAMETER').
      node = wd_context->get_child_node( name = 'PORTAL_EVENT_DATA' ).
      node->set_attribute( exporting name = 'PORTAL_EVENT_NAME' value = portal_event_name ).
      node->set_attribute( exporting name = 'PORTAL_EVENT_PARAMETER' value =                         portal_event_parameter ).

  • Is it possible to handle multiple events using Jscript for a button in Apex

    Hi,
    I've application wherein in one of the pages for a button, I need to trigger 2 events as: 1. redirect to a new page upon 'click' of the button
    2. display a set of values on 'mouse over' that button.
    I'm able to handle both separately, but not in one button. I would like to know if there is any limitation in Apex that we cant handle multiple events? Currently I've put a text item near the button, and called the Jscript for mouse over event in that as a temporary workaround. Can someone let me know if this is feasible? If not any other alternative to handle this?
    Thanks in advance,
    gsachidh

    Hi Gsachidh,
    well interesting problem you're facinng. Indeed, it can't be specified using the 'Button Attributes' So we have to come up with an workaround.
    A quick en dirty solution would be to specify it with the 'Optional URL Redirect options'. In a normal button, with processing on same page, this would be 'no target'. but in case of additional things to be done this can be used, using an target URL. I used this many times, in example with popUp windows for refreshing the caller object when changes are made. In your case we have to add next to the href an onmouseover event. this can be done with;
    Target set to => URL
    URL - target => javascript:doSubmit('<button_name>');" onMouseOver="javascript:showTooltip('tooltip');"
    Here the " is the key, letting ApEx know the target (href) is doSubmit('<button_name>'), just like when no target would be specified and adding a new javascript event; onMouseOver.
    Although this is a dirty solution in my opinion, it is the best i could come up with. I have another idea in how to do this, that is by adding this event dynamically with javascript with an addEvent. But i don't have an example at the moment for this scenario.
    Simon
    Message was edited by:
    S1M0N

  • Reg : Cross browser issue while handling LOV event on KeyFlexFeild

    Hi OA Gurus,
    We are encountering issues on R12.0.6, JDev 120Rup6.
    We have the following test case and code changes.
    Requirement:
    We have OA page where we have one KeyFlexFeild item and a normal LOV. Page items are part of one AM and LOV is in another AM.
    The requirement was to make LOV dependent on keyFlexfeild. Test case is mentioned as per following flow.
    1.     User changes cost center segment of Accounting Flex(Key flex) using Cost center LOV.
    2.     Another LOV in the same page should be dependent on new value of cost center as modified in step 1.
    Solution Implemented:
    Describing in the 3 steps
    1) Here the KeyFlexFeild is expense account. Whenever User changes any segment, we handle
    ‘lovValidate’ and ‘lovUpdate’ events on KeyFlexFeild in processFormRequest of controller.
    2) Retrieve the value of cost center segment using getSegmentsQualifiedBy(), Update corresponding VO attribute of the LOV query parameter.
    3) Forward the request to current page so that LOV will have modified value with updated query.
    4) Forwarding to current page is must because LOV is built with another AM and will loaded only when page is built.
    Issue:
    This works fine on internet explorer. When trying to run the same in Mozilla we have following issue
    1) User modifies one of the segments of expense account and make a tab – out
    2) Now the page refresh happens
    3) Now in the same page no other LOV or no other button works. He can’t click on any button for submit or cancel.
    LOVs will not open even after clicking on it.
    Code changes:
    //Step1 – Handle LOV events
    String source = pageContext.getParameter(SOURCE_PARAM);
    String eventType = pageContext.getParameter(EVENT_PARAM);
    if(source !=null && eventType != null) {
    if(source.startsWith("Acct") && eventType.equals("lovUpdate") || eventType.equals("lovValidate") ) {
    KeyFlexfield flex = (KeyFlexfield)lkff.getAttributeValue(OAWebBeanConstants.FLEXFIELD_REFERENCE);
    // Step -2 Updating the corresponding VO attribute for LOV to get the modified the value
    Segment[ ] segmentL = flex.getSegmentsQualifiedBy(FA_COST_CTR");
    CostCenterValue = segmentL[0].getValue().getValue();
    if(CostCenterValue != null ){
    sampleViewObject.getCurrentRow().setAttribute("ToCostCenter",CostCenterValue);
    OAFormValueBean formValueBean = (OAFormValueBean)webBean.findIndexedChildRecursive("ToCostCenter");
    if(formValueBean != null)
    formValueBean.setValue(pageContext, CostCenterValue);
    OAMessageLovInputBean formValueBean1 = (OAMessageLovInputBean)webBean.findIndexedChildRecursive("ReceivingApprover");
    if(formValueBean1 != null)
    formValueBean1.setValue(pageContext, null);
    else
    sampleViewObject.getCurrentRow().setAttribute("ToCostCenter",null);
    //Step 3 – Forward the request Current Page again
    pageContext.setForwardURLToCurrentPage(null, true, ADD_BREAD_CRUMB_YES, (byte)0);
    We have following questions.
    a)     Solution implemented by us is correct ? or we have to implement it in another way ?
    b)     Is OA version mentioned above supported on Mozilla browser version 3.x ? This issue is not occurring on Mozilla 1.x while running from JDev.
    Please let us know if any additional details required.
    Thanks for help in advance.
    Edited by: user774130 on Dec 15, 2009 2:27 AM

    Hi,
    It seems that you have not noticed that this forum is not for posting product-related questions/problems....
    So , this might be the correct forum....
    Java Server Pages (JSP)
    Sim

  • Javascript error in event handler! Event Type = element [edge.2.0.0.min.js:162]

    I'm doing a little edge project (now in beta version) for my girlfriend (she hates the code), with examples of the animate() method and other functions like setInteval(), but when I run I get the following error in Chrome console:
    Javascript error in event handler! Event Type = element [edge.2.0.0.min.js:162]
    But this library is global for all projects, how is possible that trigger an error?
    Example here:
    https://app.box.com/s/m7nof4al6597gfn47jlu
    Thanks.

    you dont need to import java ease !!
    it's already included in edge animate, remove that yepnope completely your problem will gone
    Zaxist

  • How to handle Valuechange events, when page bean is in request scope

    Hello balusc and forum mates,
    I want to know is there any good way to handle ValueChangeEvents events, when the page's bean in request scope.
    My problem is, I have a page having more than 1 value change event so How can I maintain page values at backing bean. My bean is request scope, I can't change to session scope.
    Please I really need it.

    Hi Frank...
    In my code i used almost same logic as Andrejus Baranovskis has explained in his Editable Table example...
    You can refer that example to see what problem I'm facing...
    http://andrejusb.blogspot.com/2007/04/create-edit-and-delete-operations-in.html
    The Bean Scope in this Example is Session scope...Save button is working fine...
    But as i Change the bean scope to Request scope then Save button is not working for Edit but it is working for Delete Action very well..
    I want that save button should work also for Edit action in Request Scope..
    Please Make me understand that why it is happened like that..
    and help me to find the solution..
    and Also if you have a better document to Explain the life cycle of Application in Different Bean Scope...So please provide me that Doc to me...
    It would be a great help for me to understand the concept of session...
    Thanks Frank
    Fizzz...

  • Handling button events in large app

    I'm currently examining a large swing app, and have observed the following with regard to action events.
    A number of listeners (for buttons, menu items, JLists etc.) are defined at the top of the app. These variously extend MouseAdapter or implement ActionListener, depending on the type of component whose actions they listen for.
    The ButtonListener definition is as follows :
    private class ButtonListener implements ActionListener
    public void actionPerformed(ActionEvent event)
    Object object = event.getSource();
    if (object == button1)
    // button1 actions
    else
    if (object == button2)
    // button2 actions
    .....etc
    One instance of this listener is created in the app, and is used as the actionlistener for each button. This means that the buttonlistener is quite large (as it contains the code for each button in the app).
    Is this the proper way to handle button events for an app with a large number of buttons?

    Thanks for the responses.
    In response to theDude : I agree that defining the action listener for each button can be useful when you can see the button definition and button action in one place; one could counter that by saying that grouping all the button actions makes it easier to examine all button actions in one place.
    Setting the action command isn't really an option because the application creates panels of buttons on the fly, e.g. when notification of a new customer is received, a new panel is created with a JTextPane (customer description) and a row of buttons for "Modify", "Delete" and "Print".
    Several customer panels could be in existence at the same time, so setting an action command of "Modify" would not enable one to uniquely identify which "Modify" button was pressed.
    This problem is currently handled by associating the panel instance with a "Customer" class instance in a hashtable. The "Customer" class consists of a JTextPane field, and a JButton for each function. When a button is pressed, the button listener traverses up the component's parents until it reaches the panel (i.e. it loops until the parent is a key on the hashtable, at which point it can retrieve the Customer instance and check which button was pressed).
    In response to KPSeal : If I understand you, I would define "ApplicationAction" separately from the main app and define extensions of it in the main app for each type of action. Would this add much value over merely defining a method for each type of action in the main app and just calling this method when the relevant button/menu item was pressed/selected?
    There doesn't seem to be a universal approach to event handling, but I thought there might have been one accepted strategy when an app has large numbers of buttons (some created on the fly, ruling out action commands).

  • CollapseLevel change within handling et_FORM_DATA_UPDATE event

    Normally, I can set a grid's CollapseLevel to any value I want, and it behaves normally.
    But, when handling et_FORM_DATA_UPDATE event, a weird problem occurs when the grid's collapse level is changed from 1 to 0: all the rows are duplicated! meaning: instead of seeing 3 rows in collapse level 0, i see 6 (for example).
    I see no need to add any code, since I'm doing that in the most straight-forward way - just setting the CollapseLevel  property of the grid.

    Hi Avi,
    As a partner the same way you have access to the latest B1 patches you have also a page where you can create messages for support to report problems you can find in B1 app and also in B1 SDK. You need a partner number to be able to access to it (same way as for patches downloads).
    Ask your colleagues more in charge of B1 installation and consulting, they will help you with support messages.
    The page should be
    http://service.sap.com/sbosupport
    Regards
    Trinidad.

  • Handling desktop events

    Is it possible in java to handle desktop events, like mouse click and key press on the main desktop window in both Windows and Linux? Can we get a handle to the main desktop window?

    thanks!
    Robot solves part of my problem. I also wanted to capture system wide events in the similar way Robot generates events.
    But this will also suffice.
    Thanks again

  • Event structure doesn't handle all events from external DLL source

    Hi!
    I use a DLL, wich handles an USB CAN transceiver device, and generates LabVIEW user events with extcode.h and PostLVUserEvent() function.
    In my vi I use an event case structure to handle theese external events. The problem is, that if the events come too frequently, then it cannot handle all events.
    The vi contains a couple of parallel while loops which process the incoming data from the external event.
    In another application I use the same architecture, and that works fine. This one is more complex.
    Do you think I have reached the limits of the program? Or what else can be the problem?
    I have tried to use a queue in the  event structure, it helped a little, but yet, not all the events are handled. My external DLL sends all event, so the problem is not there.
    Thanks in advance!

    Hi Wasz,
    Thanks for the post and I hope your well.
    It is not possible for the event structure to miss events - it simply queues them up. To keep the event structure 'in time' with the code you must ensure the code to execute in each event is minimal to allow the event structure to handle the next event. 
    Please see this two links:
    event structure buffering: leading to,
    How to avoid built-up for "cursor move" events? : where somone is trying to avoid handling all events.
    What sort of events are not being handled? Could it be an issue your events are not configured correctly? Maybe if you could produce a small example in LabVIEW code, so we can just test the event structure configuration... someone working around the external dll call - which you seem sure is working correctly.  
    In terms of queuing to process the events in other loops is certainly an option to speed up the event structure. To do this, use a produce/consumer design pattern.
    hope this helps,
    Kind Regards
    James Hillman
    Applications Engineer 2008 to 2009 National Instruments UK & Ireland
    Loughborough University UK - 2006 to 2011
    Remember Kudos those who help!

  • I have no problems copying iMovie Events from one Mac to another, however, how can I copy iMovie Projects from one Mac to another?

    I have no problems copying iMovie Events from one Mac to another, however, how can I copy iMovie Projects from one Mac to another?  Any help will be appreciated.  Thank you.

    This should give you some good insight, I'd probably store them on an External HD on the old machine and then just drag and drop to the new machine.
    https://discussions.apple.com/docs/DOC-4141

  • ICal error "There was a problem receiving this event invitation"

    Whenever I try accepting an event invitation I get a dialog prompt that says
    *There was a problem receiving this event invitation*
    Someone invited you to an event using an email address that isnt on your "me" card in Address Book. Find your email address in the following list and add it to your card in Address Book
    Problem is I've done that, my vCard is up to date. It was working fine, I cant recieve any invites anymore, wether they come from OSX or Windows. Can anyone help?

    I ran into this same issue. To resolve this, go into the Address Book application. Select the vCard that is "your" card. Now in the menu bar, go to "Card". On the drop down menu, select "Make this my card". You should now be able to accept iCal invitations without any issues. When I upgraded to 10.5.1 the issue came back and this method seemed to resolve it.

  • Event handler : handleEvent(Event event)

    Good day,
    The deprecated event handler "handleEvent(Event event)" has been replaced by "processEvent(AWTEvent event)" as per the docs.
    With some research, I came up with this little conversion chart :
    item handleEvent processEvent
    ====== ============ ============
    x event.x event.getX()
    y event.y event.getY()
    id event.id event.getID()
    target event.target ???
    ====== ============ =============
    I'm just trying to compile a list of conversion for deprecated APIs with some extra information to "ease" the transition process.
    Is the above information right or am I still missing the boat ?
    Please apply necessary corrections wherever applicable.
    Best regards.

    Good day,
    The deprecated event handler "handleEvent(Event event)" has been replaced by "processEvent(AWTEvent event)" as per the docs.
    With some research, I came up with this little conversion chart :
    item handleEvent processEvent
    ====== ============ ============
    x event.x event.getX()
    y event.y event.getY()
    id event.id event.getID()
    target event.target ???
    ====== ============ =============
    I'm just trying to compile a list of conversion for deprecated APIs with some extra information to "ease" the transition process.
    Is the above information right or am I still missing the boat ?
    Please apply necessary corrections wherever applicable.
    Best regards.

  • Anyone had problems with jFilechooser?

    I have problems with JFilechooser freezes when invoking returnVal = chooser.showDialog(this, "Select");
    For some reason it freezes the entire program, allthough sometimes (rarely), it doesn't freeze.
    Are there currently any problems with JFileChooser? I have not had any problems when embedding it in a window - only when using it on its own with JFileChooser chooser = new JFileChooser();
    Regards / Daniel

    There was a bug with JFileChooser where it would be unnecessarily slow when the directory it was showing contained huge zip files on Windows. It seems like it had something to do with the Win32 API calls they were making actually looked into all of the zip file's entries even though it didn't need to. This was fixed back in Java 6 update 10. What Java version are you using?
    If that isn't your problem, you'll have to post an SSCCE demonstrating your problem to get any help.

Maybe you are looking for

  • Pull User Role from identity manager in BPM process

    Hi, How can I pull user name, user role from different identity manager in order to configure hierarchy workflow in BPM process? can any one guide me on that?? Regards, Amik

  • IMovie 09 export issue

    Has anyone experienced a problem exporting project using the Export>Export to Quicktime Movie... Every time I use the Export to Quicktime , and this is the best way to export a quality result it just takes a Whole day to finish exporting! I mean a DA

  • 640x480 & 720x480 black bars, export

    Hello helpful friends. I am helping out a friend: exporting his projects that are shot in 720x480 (rectangular pixels), with sequence settings set at the same. The image in the Canvas is stretched wider, with black bars on both sides, and sometimes o

  • Copy and paste pages

    Hi Any help suggestion !!!! I created a web with different products. Two different company sells same products  so I have to do again many pages/ products for the second company (everything inside my web) As Muse does not allow  copy and paste pages

  • Combining items with different fields

    I have users that want to built a report that shows all the products in the same table. Problem is certain fields will only be populated for certain products. For example, a table with 15 fields, first 5 are constant across both products, 2nd 5 only