Change cell's color in jtable when user clicks on it

Hi everyone,
i've got a JTable, and would like to change the background of a cell when user selects it
so i added a mouselistener over my jtable, the mousereleased method looks like this:
          public void mouseReleased(MouseEvent e) {
               int row = table.rowAtPoint(e.getPoint());
               int column = table.columnAtPoint(e.getPoint());
                        // help needed
          }as you see, i found the code to get the index of the cell selected, but i don't find any method in JTable class to get the cell component itself, and to alter its background color
Please notice that the "setSelectionBackground()" in JTable isn't enough, since i would also like to change the color of cells which are not selected when the user select a cell
how could i do that?
Thanks in advance!
edit: i tried the following but it does not work either
          public void mouseReleased(MouseEvent e) {
               int row = table.rowAtPoint(e.getPoint());
               int column = table.columnAtPoint(e.getPoint());
               AbstractTableModel atm = (AbstractTableModel) table.getModel();
               Component cell = table.getDefaultRenderer(CaseMemoire.class).
               getTableCellRendererComponent(table, atm.getValueAt(row, column), true, true, row, column);
               cell.setBackground(Color.MAGENTA);
               table.updateUI();
          }

ok i found how to do it
i directly inserted this in the renderer code:
if (row == table.getSelectedRow() && column == table.getSelectedColumn())
cell.setBackground(etc);
(curiously it does not work with "if (isSelected)")
thanks :)

Similar Messages

  • Color a specific row in ALV GRID display when user clicks on that row

    hi
    i have the entire code ready of how to check the line selected by the user and also to color that line but after settings those parameters
    for to refresh the GRID so that the row apppears coloured .plz reply soon.... points will be awarded.....
    wat i have done is
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
       i_callback_program                 = i_repid
       i_callback_user_command           = 'USER_COMMAND'
       is_layout                         = it_layout
       it_fieldcat                       = int_fieldcat
      TABLES
           t_outtab                          = int
      EXCEPTIONS
       program_error                     = 1
       OTHERS                            = 2.
    to display the GRID then when user clicks on any row this module gets called
       FORM user_command USING r_ucomm TYPE sy-ucomm
                               rs_selfield TYPE slis_selfield.
         READ TABLE int INDEX rs_selfield-tabindex.
         int-rowcolor = 'C410'.
         MODIFY  int INDEX rs_selfield-tabindex TRANSPORTING rowcolor.
         it_layout-info_fieldname = 'ROWCOLOR'.
    then  again i call 'REUSE_ALV_GRID_DISPLAY'
    to display the GRID with the user selected line colored . the problem with this is when u go back from this screen u go to the previously displayed grid ....... whihc i dont want .....
       ENDFORM.                    "user_command

    Hi,
    By using following code,you can set the colors for each row,
    Change this based on your requirement.
    TABLES VBAK.
    TYPE-POOLS SLIS.
    Data Declaration
    TYPES: BEGIN OF T_VBAK,
          VBELN TYPE VBAK-VBELN,
          ERDAT TYPE VBAK-ERDAT,
          ERNAM TYPE VBAK-ERNAM,
          AUDAT TYPE VBAK-AUDAT,
          VBTYP TYPE VBAK-VBTYP,
          NETWR TYPE VBAK-NETWR,
          VKORG TYPE VBAK-VKORG,
          VKGRP TYPE VBAK-VKGRP,
          LINE_COLOR(4) TYPE C,
          END OF T_VBAK.
    DATA: IT_VBAK TYPE STANDARD TABLE OF T_VBAK INITIAL SIZE 0,
          WA_VBAK TYPE T_VBAK.
    ALV Data Declaration
    DATA: FLDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
          GD_LAYOUT TYPE SLIS_LAYOUT_ALV,
          GD_REPID TYPE SY-REPID.
    START-OF-SELECTION.
    PERFORM DATA_RETRIEVAL.
    PERFORM BLD_FLDCAT.
    PERFORM BLD_LAYOUT.
    PERFORM DISPLAY_ALV_REPORT.
    Build Field Catalog for ALV Report
    FORM BLD_FLDCAT.
    FLDCAT-FIELDNAME = 'VBELN'.
    FLDCAT-SELTEXT_M = 'Sales Document'.
    FLDCAT-COL_POS = 0.
    *FLDCAT-EMPHASIZE = 'C411'.
    FLDCAT-OUTPUTLEN = 20.
    FLDCAT-KEY = 'X'.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'ERDAT'.
    FLDCAT-SELTEXT_L = 'Record Date created'.
    FLDCAT-COL_POS = 1.
    FLDCAT-KEY = 'X'.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'ERNAM'.
    FLDCAT-SELTEXT_L = 'Cteated Object Person Name'.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'AUDAT'.
    FLDCAT-SELTEXT_M = 'Document Date'.
    FLDCAT-COL_POS = 3.
    FLDCAT-EMPHASIZE = 'C110'.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'VBTYP'.
    FLDCAT-SELTEXT_L = 'SD Document category'.
    FLDCAT-COL_POS = 4.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'NETWR'.
    FLDCAT-SELTEXT_L = 'Net Value of the SO in Document Currency'.
    FLDCAT-COL_POS = 5.
    FLDCAT-OUTPUTLEN = 60.
    FLDCAT-DO_SUM = 'X'.
    FLDCAT-DATATYPE = 'CURR'.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'VKORG'.
    FLDCAT-SELTEXT_L = 'Sales Organization'.
    FLDCAT-COL_POS = 6.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'VKGRP'.
    FLDCAT-SELTEXT_M = 'Sales Group'.
    FLDCAT-COL_POS = 7.
    FLDCAT-EMPHASIZE = 'C801'.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    ENDFORM.
    Build Layout for ALV Grid Report
    FORM BLD_LAYOUT.
    GD_LAYOUT-NO_INPUT = 'X'.
    GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
    GD_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
    GD_LAYOUT-WINDOW_TITLEBAR = 'GRID DISPLAY'.
    GD_LAYOUT-CONFIRMATION_PROMPT = 'X'.  “ This asks the confirmation before leaving the screen.
    ENDFORM.
    Display report using ALV grid
    FORM DISPLAY_ALV_REPORT.
    GD_REPID = SY-REPID.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
       I_CALLBACK_PROGRAM                = GD_REPID
       IS_LAYOUT                         = GD_LAYOUT
       I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
       I_GRID_TITLE                      = 'SALES DOCUMENT HEADER'
       IT_FIELDCAT                       = FLDCAT[]
       I_SAVE                            = 'X'
      TABLES
        T_OUTTAB                          = IT_VBAK
    EXCEPTIONS
       PROGRAM_ERROR                     = 1
       OTHERS                            = 2.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.
    Retrieve data from VBAK table and populate itab IT_VBAK
    FORM DATA_RETRIEVAL.
    DATA LD_COLOR(1) TYPE C.
    SELECT VBELN ERDAT ERNAM AUDAT VBTYP NETWR VKORG
    UP TO 20 ROWS
    FROM VBAK
    INTO TABLE IT_VBAK.
    LOOP AT IT_VBAK INTO WA_VBAK.
    LD_COLOR = LD_COLOR + 1.
    IF LD_COLOR = 8.
      LD_COLOR = 1.
    ENDIF.
    CONCATENATE 'C' LD_COLOR '10' INTO WA_VBAK-LINE_COLOR.
    MODIFY IT_VBAK FROM WA_VBAK.
    ENDLOOP.
    ENDFORM.
    FORM TOP_OF_PAGE.
    DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
          W_HEADER TYPE SLIS_LISTHEADER.
    W_HEADER-TYP = 'H'.
    W_HEADER-INFO = 'WELCOME HEADER LIST'.
    APPEND W_HEADER TO T_HEADER.
    W_HEADER-TYP = 'S'.
    W_HEADER-KEY = 'REPORT:'.
    W_HEADER-INFO = SY-REPID.
    APPEND W_HEADER TO T_HEADER.
    W_HEADER-TYP = 'S'.
    W_HEADER-KEY = 'DATE:'.
    CONCATENATE SY-DATUM6(2) ' / ' SY-DATUM4(2) ' / ' SY-DATUM(4) INTO W_HEADER-INFO.
    APPEND W_HEADER TO T_HEADER.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY       = T_HEADER
    ENDFORM.
    Reward points,if it is useful.
    Thanks,
    chandu.

  • Identifying a cell on webdynpro alv when user clicked it

    Hi Experts,
         Iam displaying one alv grid in that am having 10 columns....I need to have hotspot
    for 2nd column and 6th column.But when the user clicked 2nd column i need to do one functionality
    and when user clicked on 6th column i need to do another functionality.How can we identify whether
    user clicked on 2nd cell or 6th cell(already am hadling event for on_click for 2nd column)...Please let me know the solution is grately appreciated...
                                   thanks in advance...
    Regards,
    kranthi

    Thanks Ramakrishnappa n sharath,
             As per ur ur above post am getting the user clicked cell value in r_param->value(here the user performing link_to_url action on sanction order no(kblp-kblnr))...I need to concatenate this r_param->value with one string like "Sanction order no.is....".
                Here the problem is iam unable to convert the r_param->value to char.If i can able to convert it to char.then i caoncatenate this r_param->value to "Sanction oreder no.is..."
                     Please suggest me it is urgent...thanks in advance.
    Regards,
    kranthi

  • How to prevent error message for material description in MDG material detail screen, when user click on check action

    Dear Experts,
    I have a requirement for making material description as non mandetory in change request view of mdg material screen.
    I have done that using field usage in get data method of feeder classes, but still message is displaying.
    This message 'Material description is mandatory is displaying with check action only, but not with save or submit after i anhance field property as not mandetory.
    How to prevent error message for material description in MDG material detail screen, when user click on check action.
    Thanks
    Sukumar

    Hello Sukumar
    In IMG activity "Configure Properties of Change Request Step", you can completely deactivate the reuse area checks (but will then loose all other checks of the backend business logic as well).
    You can also set the error severity of the checks from Error to Warning (per CR type, not per check).
    Or you provide a default value for the material description, e.g. by implementing the BAdI USMD_RULE_SERVICE.
    Regards, Ingo Bruß

  • Is it possible to display an Alert when user clicks on the X on the browser

    Hi
    Is it possible to display an Alert when user clicks on the X on the browser.I saw some threads regarding this mentioning about js.I want to do this ins the iProcurement module and dont wnat to make changes to each and every page.
    isn't there any global setup which would help to achive this?

    Are you talking about Windows close X. If yes, then to my knowledge there is nothing in OA Framework to handle it. You can check if it can be handled using javascripts.

  • When user click on Submit in the salesquote then this submit action needs to be captured in the BeforeSave script file

    Hi Expert,
    Explanation:
    In the sales quote there is a Submit in the Action Menu, so when a user click on the submit button then sales quote approval process triggers and
    sales quote saved with Approval status as "In Approval" .
    Requirement: Each time user click on the submit of sales quote then we have to record this action and update our BO for further calculation.
    Issue: All BO elements in the ActionValidation-Submit script file are accessible but they are read only so can not be modified.
              So when you click on the Submit then immediately after submit action event beforesave gets trigger, so we build logic here but issue is that we           are not  able to segerate this save even, I mean which SAVE is coming from the EXPLICIT save button on the UI or which save being triggered           from Submit Action.
    Resolution tried: We found only one script for the submit action ActionValidation-Submit script file so we implemented this script but here all BO                          elements are read only, we can not modify those elements.
                             Even we are not able to return any variable on the validation submit script. so only we can return true/false that says validation is                          success or not.
    My Question : How to capture the information in the event before save when user click on the submit on the sales quote.
                             So other than valiation script file is there any other appraoch by which I can acheive this. even in the global variable "this"  I also dont                          find any varaible that is setting as true/false that refers to action triggers on the sales quote.
    Thanks
    Asaad

    Thanks Meghana.. Appreciate your input.
    We are doing this but the issue we are encountering is after the submit if other user changes sales quote and click on the SAVE button then we dont want this save from SAVE button on UI, so always whenever user click on the submit from action menu in the sale quote then we need to capture user information at the submit click.
    Thanks
    Asaad

  • Disable button when user clicks

    Hi.,
    I am using jdev 11.1.5
    I need to disable button when user clicks the record which contain the value 'No'
    My scenario
    Id          Value
    1            Yes
    2            No
    3            YesThe button should get enabled for the first record which contain value 'Yes'
    In the above table the button should get enabled for
    Id        Value
    1          Yes          //while user clicks the record button must enabledfor 2 and 3 the button must be disabled
    could any one pls help me

    Hi,
    First get the selected value in bean and set it to String attribute,in your value change listener.
            public void customVLC(ValueChangeEvent valueChangeEvent) {
              //write code to get selected value
              this.selectedValue = "No";//Depend on your selected value on above
              AdfFacesContext.getCurrentInstance().addPartialTarget(getCbButton());//Bind button to bean and get UI here to refresh
       private String selectedValue;
        public void setSelectedValue(String selectedValue) {
            this.selectedValue = selectedValue;
        public String getSelectedValue() {
            return selectedValue;
        }in page put as
    disabled="#{YourBean.selectedValue eq 'No' ? true : false}"Here selectedValue keep the state for disable and enable the button
    I hope above information enough to resolve the issue..

  • When user clicks on "Like Button," the counter increases but nothing shows up showing the user recommends my site to their friends. What did I do wrong?

    When user clicks on "Like Button," the counter increases but nothing shows up showing the user recommends my site to their friends. What did I do wrong?
    I used the iframe code from Facebook's "Like Button" site; and inserted the code in the html widget popup box, then positioned it where I wanted it on my page and published. It looks fine (though I had to add "http" before my url to get it to show up).
    So, when a user clicks on button, a pop-up opens asking for Facebook password. When I (the user) enter a password, nothing happens after that. I thought the idea was that a user would be able to show their friends that they like my website. After I entered my password in pop-up after clicking on "Like" I went to my facebook page (a company page) to see if it showed that I (the user that clicked on "Like" on iweb) recommended the website. But nothing showed up. I thought maybe it was because Facebook associated my password as the admin for the Facebook page so didn't count it. But a friend tried it and same thing happened. I went back and on one page I put in another facebook code for a combo Like/Send button. It shows up but acted the same as the regular Like button.
    Questions:
    1. Is this the way the Like Button is suppose to work? Only benefit of Like button being that it just counts the clicks on the Like button and does NOT let users share their recommendation with their friends?
    2. If it's suppose to let users share their "Likes" with their friends, what did I do wrong? There were three types of code but in reading discussions, they all say to use iframe. (I used the first choice which I think was html for Javascript SDK and put that in my HTML Snippit box and the Like/Share button showed up on my iweb page next to the facebook icon and the words "likes this" but when I click it, I don't see instructions that it's sending my recommendation to my friends.)
    I must have done something wrong, but can't figure out what. Does anyone know? If the only benefit of the Like Button is the counter, it doesn't seem worthwhile.
    Thanks to anyone who can figure this out!  My website is couponsforfun.com

    You want something like this?
    http://home.wyodor.net/demoos/facebook/
    The send button sends the link to their friends in the address field with a message.
    They recieve a message in the inbox.
    There's no post on a page.
    If they want that, then they should share the link themselves.
    Perhaps it's best to study what facebook has to offer and how it works instead of guessing what it is supposed to do and be disappointed.

  • Is there a way to force firefox to send ajax-request when user clicks on a link and redirect occurs?

    I'm trying to send ajax-request with web-analytics data when user clicks on a link. But Firefox cancels the request and moves to the link location. Sync requests or waiting for response is not an option because performance is critical.

    Correct me if I'm wrong here:
    <code>jQuery.data()</code> saves the <code>{"foo": "bar"}</code> JSON object to variable <code>data</code>, and then the <code>s.tl()</code> call sends <code>data</code> to the server, right?
    You could use jQuery's [http://api.jquery.com/event.preventDefault/ <code>event.preventDefault()</code>] method to stop the browser from automatically following the link on click. You could wait until the Ajax request was finished before following the link.
    <hr>
    I hope that solved your problem!
    <i>If it did, would you please choose this answer as your solution? It would help other Firefox users to find help on the forums faster and more efficiently. Thanks!</i>
    And of course, feel free to post back if you need more help!
    Happy browsing!

  • How do I change the default software that opens when I click on a document?

    I'm not sure if this is the right neighborhood to post this question, but here goes. How do I change the default software that opens when I click on a document icon. I've been without MSWord for a long while, so all my word processing docs have been written in TextEdit, the stock mini-word processor that comes with OSX. Now I have MSWord and I no longer need TextEdit. Even more importantly, I'd like Word to automatically open when I click on a doc created in TextEdit. Adding ".doc" at the end doesn't do it. It's still refers to TextEdit to open the document.
    Any advice?
    Thanks,
    John

    Select a document of that type in the Finder, choose Get Info from the File menu, change the application under Open With, click on Change All, and confirm your action.
    (23558)

  • How to initiate some action when user clicks a field in CRViewer?

    <p><span style="font-family: Courier"><font size="1">ReportObjects doesn't expose click event despite the fact that a field can get focus frame, you can even tab from field to field. </font></span><span style="font-family: Courier"><font size="1">Drill() event works only on group names.</font></span><span style="font-family: Courier"><font size="1">So, how to initiate some action (based on a clicked field value) when user clicks a field in CRViewer?</font></span><span style="font-family: Courier"><font size="1">After doing some googling, have found that something similar exists but it's FoxPro API</font></span></p><p><strong><span style="font-size: 12pt; font-family: Courier"><font size="1">From some PDF: </font></span></strong><strong><span style="font-size: 12pt; font-family: Courier"><font size="1"> </font></span></strong></p><p><strong><span style="font-size: 12pt; font-family: Courier"><font size="1">> Report objects events</font></span></strong> </p><p style="margin: 0cm 0cm 0pt; line-height: normal" class="MsoNormal"><span style="font-size: 10pt; font-family: Courier"><font size="1"><span style="font-size: 12pt; font-family: Courier"><font size="1"><strong>> </strong></font></span>Report object events occur when you click or double-click a field, </font></span></p><span style="font-size: 10pt; font-family: Courier"><font size="1"><span style="font-size: 12pt; font-family: Courier"><font size="1"><strong>> </strong></font></span>heading, or label in a report.</font></span> <p style="margin: 0cm 0cm 0pt; line-height: normal" class="MsoNormal"><span style="font-size: 10pt; font-family: Courier"><font size="1"><span style="font-size: 12pt; font-family: Courier"><font size="1"><strong>> </strong></font></span>Doing this creates the EventInfo object. This object contains </font></span></p><span style="font-size: 10pt; font-family: Courier"><font size="1"><span style="font-size: 12pt; font-family: Courier"><font size="1"><strong>> </strong></font></span>information about the event and</font></span> <p style="margin: 0cm 0cm 0pt; line-height: normal" class="MsoNormal"><font size="1"><span style="font-size: 10pt; font-family: Courier"><span style="font-size: 12pt; font-family: Courier"><font size="1"><strong>> </strong></font></span>passes as a parameter to the event method. </span><strong><span style="font-size: 10pt; font-family: Courier">Table 3 </span></strong><span style="font-size: 10pt; font-family: Courier">lists the</span></font></p><p style="margin: 0cm 0cm 0pt; line-height: normal" class="MsoNormal"><font size="1"><span style="font-size: 10pt; font-family: Courier"><strong><span style="font-size: 12pt; font-family: Courier"><font size="1">> </font></span></strong>EventInfo object properties.......</span></font></p>

    The article you found refers to the ActiveX viewer which is used with the COM-based tool called Report Designer Component. Since you have posted to the .NET forum, I'm assuming you're not using the RDC and therefore this article will not apply.
    Recently, Click events were added to the Windows Form Viewer to get similar functionality as the ActiveX viewer. Take a look at the following link for more information....
    [http://diamond.businessobjects.com/node/2109 | /node/2109]
    However, if you are using the CR Web Forms Viewer in an ASP.NET app, then this functionality is not available.

  • How to catch data from Purchase Order form, when user click CLOSE menu?

    Hi,
    I need do my own biz process when user click CLOSE in the Data menu to close a purchase order.
    But I don't know how to get data from PO form which opened by user.
    Can anybody give me some suggestions? thanks.

    Clicking "Close" is menuUID 1286. (Check this by going to View->System Information, and then hovering your mouse over "Close" in the menu. The menuUID is displayed in the bottom left of the screen)
    So catch the menu event, when menuUID and pVal.BeforeAction = True.
    The slightly tricky thing here is that pVal for a menu event doesn't give you the form, but it will be the active form, so you can do this:
    Private Sub SBO_Application_MenuEvent(pVal As SAPbouiCOM.IMenuEvent, BubbleEvent As Boolean)
         If(pVal.BeforeAction And pVal.menuUID = "1286")
             SAPbouiCOM.Form oForm = SBO_Applcation.Forms.ActiveForm
             //Now you have the form, when the user has clicked close, so process the data
             //from the form as normal
         End If
    End Sub
    Syntax might be wrong, I typed it up from memory and have no error checker!
    Edited by: njmog1 on Feb 28, 2011 10:35 AM

  • I changed from IE to Firefox. When I click on a shortcut in an email, I get the message "an error occurred in sending the command to the application" in Outlook. It doesn't stop Firefox opening and going to the site, but is annoying.

    I changed from IE to Firefox. When I click on a shortcut in an email, I get the message "an error occurred in sending the command to the application" in Outlook. It doesn't stop Firefox opening and going to the site, but is annoying.

    See:
    *http://kb.mozillazine.org/Windows_error_opening_Internet_shortcut_or_local_HTML_file_-_Firefox

  • Showing universal work list when user clicks a button in webdynpro java

    Hi,
    I am developing webdynpro java application, when user clicks a button i want to display Universal worklist in the portal, if user is logged in then it directly shows in portal otherwise it should asks for username and password.
    Thanks,
    Madhu

    Hi Pithre,
    For this you have to use portal navigation classes, Same scenario occurred in previous forums, search thoroughly before you post the question.
    Go to the below link, May u r problem will be solved.
    Universal Work List & Web Dynpro
    Regards,
    Pradeep

  • How to get login page when user clicks on browser's back button

    Hi,
    I am using struts framework.
    I have set property nochache=true in response header of all pages.
    So, browser does not caches my pages.
    Now,when I am clicking on browser's back button, I am getting following message..generated by browser.
    Warning: Page has Expired The page you requested was created using information you submitted in a form. This page is no longer available. As a security precaution, Internet Explorer does not automatically resubmit your information for you.
    To resubmit your information and view this Web page, click the Refresh button.
    Instead of that I want to show user a login page, when it clicks on back button.
    Can anyone help me?

    Hi,
    I agree with your suggestion.But my query is,
    If you have seen many credit card or banking websites,generally when user clicks on browser's back button,its redirectly user to login page of it for security reasons.
    I want to implement that kind of functionality.So need help on that point

Maybe you are looking for