Assigning rows in JTable a set text colour depending on a column value

Hi Guys
I am sending my table a vector containing data from an Oracle db.
The data will have one column named type, and it will be either 'Training' or 'Holiday'.
I want the text of the entire row in the table to be Blue if the Type is 'Training', and red if the type is 'Holiday'.
The type column is the 3rd column in the table.
How can I set the Color of my table rows?
whatr is the best way to do it?

I dont understand how to do my selection code:
I want to check the Type column of each row and set colour = blue if type = "training" and color = red if type = "holiday".
What code should i put in the expression braces?
and whats the correct syntax to cghange the colour of the text in the ENTIRE row please?
heres my code as it is.
public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value,
                                                                      boolean isSelected, boolean hasFocus, int row, int column)
     JLabel cell = (JLabel)super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
     if (Type.equals("Training"))
          setForeground(Red);
     else
          setForeground(Blue);
     return cell;
}

Similar Messages

  • Changing a row colour in JTable, depending on a column value

    Hi,
    I need assistance with the following:
    I need to change the colour of a row in a JTable, depending on a column value. I have been successful on changing one column's colour in each cell, depending on the value by using a CellRenderer extending DefaultTableCellRenderer.I am unable to set the other 2 columns's cell's depending on the first column value's.
    I would appreciate any help, source would be a bonus.
    Thx
    Charl

    Ok, here follows the code as requested. Note that this is the code setting each row in one of my columns depending on the value. Now i have to cgange column0 and column1 's foreground the same as what this column (column2) 's foreground is. Thx
    import java.awt.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.table.*;
    class ColorizedCell extends DefaultTableCellRenderer {
    static Hashtable cache;
    static {
    cache = new Hashtable();
    cache.put ("Device Responding to Poll",Color.green);
    cache.put ("Wan link Recovered",Color.green);
    cache.put ("No Response to Device Poll",Color.yellow);
    cache.put ("Wan Link Failure",Color.red);
    cache.put ("Lan Link Failure down",Color.red);
    cache.put ("Device Down",Color.red);
    public Component getTableCellRendererComponent(JTable table,
    Object value, boolean isSelected,
    boolean hasFocus, int row, int column)
    JLabel label = (JLabel) super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
    label.setText((String)value);
    if(column == 2) {
    //setFont(bold);
    Color c = (Color)cache.get(value);
    label.setForeground(c);
    if (isSelected) {
    label.setOpaque(true);
    label.setBackground(Color.white);
    else {
    //setFont(plain);
    label.setForeground(Color.white);
    return label;
    }

  • How to restrict a table with its set of data based on a column value in it?

    Hi,
    I have a scenario in which I have to show a set of data of a pivot table by restricting data based on a column value. I am creating BIP report whose source is from BIA ie.RPD. Based on a column value I want to restrict the data being displayed in the table. Since I also want the hidden data in the first table to be displayed in another table in the same report I cannot restrict the data at the query level i.e at RPD or at BIA. For this reason I used
    <?xdofx:if saw3_ = 1?>
    the pivot table
    <?end if?>
    But it does not restrict any data.
    Also I tried using the if condition inside the table before the row level looping happens. But no good show even then.
    How can I forgo this problem?
    Regards,
    The MM

    Hi,
    See : http://download.oracle.com/docs/cd/E12096_01/books/PubUser/T421739T481157.htm#4535373 regarding column and row.
    Regards,
    Colectionaru

  • How to get more than 4 coloured rows in a report depending on column values

    Hi,
    I've looked through the forum and found some stuff on mutli-coloured reports and found the link to http://htmldb.oracle.com/pls/otn/f?p=11933:7:557008579481721819
    But I have several problems:
    This shows how to get 3 colours, but it's easy to get up to 4 by just using the "Column Templates" in a new report template.
    I don't understand where to put the snippets. It says to put them in "Row Templates" , "Before Rows" and "After Rows" but my report template page doesn't have these options! I've got "Column Templates" (4 of them), "Before Each Row" and "After Each Row".
    Am I looking at a link for an old version?
    What I want to do is set the row colour dependant on a column called "level" which is between 1 and 5.
    Thanks

    Hi Vikas,
    It's almost perfect now. My only problem is that the pagination table is, for some reason, enclosed within the results table (I've used FireFox web developer's tools and checked the souce HTML to be sure of this). So, if I have a border at table level, it appears on the row containing the pagination.
    I've had to remove table borders and put right borders on the table data cells, but I can't find a way to put left borders on the table rows, so I have a pretty table with 5 levels of colour, but no borders on the left-hand side.
    Ideally I'd like to avoid having the pagination stuff within the results table, but I can't see how/where to put a </table> to sort this out!
    Ros

  • How to Update some column values in some rows in an advanced table

    Hi Gurus,
    Can any body help on this issue.
    I am having a results table which is showing all the queried parties data queried in a seeded page in OCO module.
    Lets assume the table contains 10 rows with the below columns
    Party Name, Registry ID, Address Country, Match Percentage, Certification Level, Certification Reason, Internal Indicator, Status .
    Certification Level, Certification Reason and Internal Indicator are the dropdowns.
    The user want to update some of these fields values for some rows randomly.
    After doing this if he click on Save button, Only thosed changed rows need to get update using a Custom Procedure.
    But here all the rows irrespective of the change getting updated.
    So  how to capture the modified rows.
    Appreciate any inputs..
    Thanks
    Palepu
    Edited by: Palepu on 9 Aug, 2012 4:25 PM

    Not sure if you got the answer. You need to capture the row which got changed using the below and get the column value using the getAttribute method. This works for single selection row, if it is multi selection then you will have to loop through all selected rows and find the VO attribute value.
    String rowReference = pageContext.getParameter(OAWebBeanConstants.EVENT_SOURCE_ROW_REFERENCE);
    Row currentRow = am.findRowByRef(rowReference);
    String param1= (String)currentRow.getAttribute("VOAttribute");
    Let me know if there are any issues.
    Thanks
    Shree

  • Work with JTable cell (check input, set text color)

    I have a JTable with data
    The task is:
    User inputs some data into cell
    I want to check his input string for equatily with other values in column
    For example, I have these values in column:
    1.example
    2.exercise
    3.execute
    User inputs word "execution" in the same column
    until user inputs "executi" his input string should be red.
    What event I have to listen to if I want to get user input string?
    Also a question:
    Is there any opportunity to work with cell row (copy it to another JTable) ?
    Message was edited by:
    Holod

    i think you should use cell editor as textfield (although that is default for jtable) and then implements document listener and set text color in insert update method.
    try this out :-)

  • Howto set tool tip for a row in JTable

    I want to set a seperate tool tip for each of the rows in JTable. I tried getting cell renderer of all columns in a row and then setting tool tip for them. I expected that setting tool tip for a cell renderer will set tool tip for that cell. Thus setting tool tip for all the cells in a row will indirectly set tool tip for that row. But it does not happen that way. By setting a tool tip for a renderer it will use that tool tip for all those cells which use that renderer.
    Is there any problem in my approach or we cannot do this in Java.
    regards.

    Thanks.You're wellcome.
    >
    I just saw this method in JComponent and realized this
    solution.
    But then thought that for doing this i'll have to
    create my JTable class for just overiding one method
    thereby increasing one more level of abstraction.Well, you could override the method in an inner class if I understand you correctly in assuming that you don't want to create a JTable as new separate class. You could do this:
    JTable yourtable = new JTable() {
      public String getToolTipText( MouseEvent e ) {
        return getToolTipForRow( rowAtPoint( e.getPoint() ));
    // some where else in your class
    getToolTipForRow( int row ) {
      // determine your tooltip here
    }I think this would be a bit nicer and slightly faster approach because as far as I understand the getToolTipText() method is called after a similar MouseEvent for every JComponent i.e. a small pause of cursor movement over the component in question. I admit that I haven't tested either approach myself but noticed that JTable actually overrides the getToolTipText( MouseEvent e) method already. In your code you determine and set the tooltip every time the mouse moves. If you override getToolTipText( MouseEvent e) you have to determine the tooltip text only when the tooltip is actually about to be shown.
    Regards, JMorko

  • How to set background color of row in JTable

    Hi,I want to set different background color to rows in JTable according to some value in the this row.
    eg.
    no name isGood
    1 aaa yes (this row's background color is red)
    2 bbb no (this row's background color is blue)
    3 ccc yes (this row's background color is red)
    4 ddd yes (this row's background color is red)
    5 eee no (this row's background color is blue)
    thanks

    thanks!*_*                                                                                                                                                                                                                                                       

  • How to set background color in row of JTable ?

    i am new in java please tell me about How to set background color in row of JTable ? please example code. Thnak you.

    Here is an example: http://www.javaworld.com/javaworld/javaqa/2001-09/03-qa-0928-jtable.html
    For more info on how to use tables read the swing tutorial: http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
    ICE

  • Setting the colour of the search box text on a public website

    I am using the search box snippet in the header of my public website.
    The background of the header is a dark blue.  The search box background is transparent so the default colour of the text (#444) on the dark blue background is barely visible.
    The text colour appears to be set by the following entry in corev15.css:
    input[type=password],
    input[type=text],
    input[type=file],
    select,
    textarea,
    .sp-peoplepicker-topLevel,
    .sp-peoplepicker-topLevelDisabled,
    .sp-peoplepicker-autoFillContainer,
    .ms-inputBox
    border:1px solid #B0B0B0;
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.85);
    color:#FFFFFF;
    I changed the colour from #444 to #FFFFFF.
    Now I want to create a new post in the Blog.  The new post's Title and Body fields use the same entry in corev15.css to set the colour of the text.  As the background of the new post is white the text is invisible!
    Using the F12 development function in IE, setting the colour of the Search box text with an inline function works, but when I add style="color:white" to the <input> of the Search box snippet it seems to be ignored.
    What am I doing wrong?  Is there another way around the problem (I don't want to change the background colour of the header nor the background of the post page and there is no colour that will display the text well enough against both backgrounds).
    Your help would be much appreciated.
    Thanking you in anticipation.
    Roger
    rogerwithnell

    Thanks for your help, Patrick.
    Adding color: white !important; inline in the <input tag of the Search box snippet is still ignored, however.  When I look at the HTML and CSS with F12 in IE, the inline mark-up is not set.  I guess this something to do with how the Search Box
    snippet works?
    I've made some progress, though.  All the pages of the site (except the Blog NewPost page) use the corev15.css file. So I've set the colour here to white.  The css entry is:
    input[type=password],
    input[type=text],
    input[type=file],
    select,
    textarea,
    .sp-peoplepicker-topLevel,
    .sp-peoplepicker-topLevelDisabled,
    .sp-peoplepicker-autoFillContainer,
    .ms-inputBox
    border:1px solid #B0B0B0;
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.85);
    color:#FFFFFF;
    The Blog NewPost page uses \_catalog\theme\themed\CDD8DBA6/COREV15-51C31438.themedcss. I've changed the same CSS entry as follows:
    input[type=password],
    input[type=text],
    input[type=file],
    select,
    textarea,
    .sp-peoplepicker-topLevel,
    .sp-peoplepicker-topLevelDisabled,
    .sp-peoplepicker-autoFillContainer,
    .ms-inputBox
    border:1px solid #B0B0B0;
    background-color:#fff;
    background-color:rgba(255, 255, 255, 0.85);
    color:#444 !important;
    Now this page sets the colour to #444.  This means that the text in the Title and Body fields is visible but the text in the Search Box (with its dark blue background) is not.
    The Search Box on Blog NewPost is not vital but I'd like to fix it.  How can I do this?
    Roger
    rogerwithnell

  • How to set different font for a particular row in jtables?

    How to set different font size and font type for a particular row in jtable?

    More than enough sample code here:
    [http://java.sun.com/docs/books/tutorial/uiswing/components/table.html]
    db

  • URGENT - Change color for a set of rows in JTable

    Hello all,
    How can i set color for a particular set of row which are all having same values in a cell. If any other rows contains same value that should also be in different color.
    Example:
    I have 10 rows containing itemcode and taxes in JTable.
    1st, 2nd and 4 th row contains same value of Taxes -- It should be in a set of color. red
    6th and 8th row containing same value of Taxes -- it should be in a set of color blue
    other are in normal color. Kindly send the coding for the above. Advance thanks.
    Regards,
    N.A. Ramasubramani / Chennai.

    Hi,
    Here is how I do it... create a Vector of Vector or an array[row][col] containing colors for every cell (row,col). Create a custom Cell renderer in which you pass the color data variable. Then in the renderer you get the Row and Col and set the appropriated color for the background.
    JRG

  • Setting the colour red for an input field or a text-field in a table

    Hy,
    I am using an input-field or text-field within a table-cell. For some rows in the table the text in the input-field / text-field should be red. How can I do this ?
    Florian Hroch

    Create a new attribute "TextColor" of type "com.sap.ide.webdynpro.uielementdefinitions.TextViewSemanticColor" (local DDIC types), under the table's data source node.
    Bind the "TextView.semanticColor" property of the table cell editor to this attribute.
    If you cannot add new attributes under the data source node (this is the case if there is a structure binding), add a value node "TableProperties" (cardinality 1:1, selection 1:1) under the data source node and add the attribute there.
    Then you can control the color of the TextView in table row at index i by setting the "TextColor" value for node element at index i.
    For an input field, you cannot set the text color, a workaround might be adding an icon in an extra column.
    Armin

  • How to set text and background color of current row in a adf table?

    Hi,
    In jdev 11.1.2.3,
    How to set text fond and background color of current row in a adf table?
    I tried to set Background color in table property, but that is not what i want.
    Thanks.

    Hi,
    We almost had the same requirement, but we just needed to color a specific column.
    Here goes the solution to that, you might do the same for your row highlighting
    Changes are required in jsff and one method to be added in backing bean
    1. JSFF :
    <af:column headerText="Amount"
                     id="c4" width="100"
                     inlineStyle="#{backingBeanScope.BackingBean.cellColor}">2. Backing Bean
    //searchResultTableVO is Table's VO
    public String getCellColor() {
          FacesContext ctx = FacesContext.getCurrentInstance();
          ExpressionFactory ef = ctx.getApplication().getExpressionFactory();
          ValueExpression ve = ef.createValueExpression(ctx.getELContext(), "#{row}", FacesCtrlHierNodeBinding.class);
          FacesCtrlHierNodeBinding node = (FacesCtrlHierNodeBinding)ve.getValue(ctx.getELContext());
          Row row = node.getRow();
        if(row.equals(searchResultTableVO.getCurrentRow())){
    //You can add your inline style for font-style too
          return "background-color:Red;";
             return null;
      }Hope this is helpful :)
    Regards,
    Neha..

  • JTextPane - setting selected text colour

    Ok, I have a bit of a problem. Here is some general information about my program.
    I have a JTextPane called "DDITextArea" and I can type in it and stuff. I want to be able to select some of the text and use a JColorChooser to set the text to that color of my choice. I am doing a bit of experimentation with the swing components and messed around with a JColorChooser. Here is the code for the chooser.
        ColourOption.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            if (first) {
              first = false;
              chooser.setPreviewPanel(new CustomPane());
            JDialog dialog = JColorChooser.createDialog(RecipeBrowser.this, "Demo 3", true, chooser, new ActionListener() {
                  public void actionPerformed(ActionEvent e) {
                    c = chooser.getColor();
                }, null);
            dialog.setVisible(true);
    *I NEED SOMETHING HERE TO SET THE SELECTED TEXT TO THE COLOUR I CHOOSE WITH THE JCOLOURCHOOSER
    *I HAVE A JTEXTPANE AND I WANT TO BE ABLE TO SELECT SOME TEXT THEN USE THE JCOLORCHOOSER TO SET THE COLOUR OF THE SELECTED TEXT
        });as you can see from the comments near the end of the code sample, I need to know how to set the selected text to Color c. I don't know if there is a method for this. I looked at the online Java syntax database but to no luck. Just to ensure that there is no misunderstanding I will give an example:
    DDITextArea has the sentence "The dog is wet and smelly" and its default font colour is black. If I highlight the words "The Dog", open the ColorChooser and select red, the words "The Dog" will be red while everything else is black.
    If it is any help, here is where my DDITextArea is created
              final JTextPane DDITextArea = new JTextPane();
              JScrollPane DDITextAreaScrollPane = new JScrollPane(DDITextArea, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
              //DDITextArea.setLineWrap(true);
              //DDITextArea.setWrapStyleWord(true);
              DDITextArea.setEnabled(true);
              DDITextArea.setEditable(true);
              DDITextArea.setVisible(true);
              gbc.fill = GridBagConstraints.BOTH;
              gbc.anchor = GridBagConstraints.CENTER;
              gbc.gridx = 1;
              gbc.gridy = GridY;
              gbc.gridwidth = 1;
              gbc.gridheight = 1;
              gbc.weightx = 1;
              gbc.weighty = 1;
              gbl.setConstraints(DDITextAreaScrollPane, gbc);
              PrintTab.add(DDITextAreaScrollPane);Am I missing any necessary syntax to do this or is there something much more complicated involved?

    Sorry for the double post but I figured it out. I missed the answer. This is a clear sign I must stop doing past-midnight research.
    Anyways, for any folds that have trouble with this in the future, here you go. I hope someone, somewhere, sometime, will have need for this.
        ColourOption.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            if (first) {
              first = false;
              chooser.setPreviewPanel(new CustomPane());
            JDialog dialog = JColorChooser.createDialog(RecipeBrowser.this, "Demo 3", true, chooser, new ActionListener() {
                  public void actionPerformed(ActionEvent e) {
                    c = chooser.getColor();
                }, null);
            dialog.setVisible(true);
    //THE CODE BELOW THIS COMMENT IS WHAT I ADDED
    new StyledEditorKit.ForegroundAction("", c).actionPerformed(null);
    //THE CODE ABOVE THIS COMMENT IS WHAT I ADDED
        });

Maybe you are looking for

  • I'm looking for a weight wedding reminders to an email that I want to follow up in a few weeks. Is there way to do this?

    I just migrated to Apple and I'm having a little hard time adjusting. When I send one of my peers and email I like to add a reminder for myself to do with follow-up in case the person does not reply.  Is there a way to do this with mail application? 

  • Problem in execution of OIM 9.1 API

    Hi, In our project, we have developed a custom application using OIM9.1 API where we are using calling tcRequestOperationIntf.getRequestObject(ReqKey) at multiple places. and also tcRequestOperationIntf.seRequestResponse(a,b,c) methods. same code is

  • Web Service Homepage: Authority check failed

    Dear Colleagues, I have created a Web Service and now I want to test it via its Web Service Homepage (TA WSADMIN). The Homepage is displayed correctly, but testing leads to an error: Authority check failed Are there any prerequisites I maybe do not a

  • Question about SDK and webapps

    Hi, I would like to write my own webapps, I have some ideas that I would like to see on the ipod. I am however no programmer and did never any programming. It is difficult to make a webapp or a real program wwith the SDK when it comes out? And is the

  • SUN WS6.0 - empty cache (nsapi, wl_proxy, weblogic)

    We are using iPlanet-WebServer-Enterprise/6.0SP8 under Solaris. WebServer is just a proxy for the BEA Applikationserver, so its configured with NSAPI like .. <Object name="default">    NameTrans fn="assign-name" from="*" name="fsm" <Object name="fsm"