Changing background of selected item in JComboBox when Uneditable

I need to change the color of the items in a JComboBox list based on the values that change at runtime. I have accomplished this by creating and using a class extended from DefaultListCellRenderer.
The combobox is enabled and uneditable. The problem is that in 1.5 the behavior changed and now the selected item gets a white background that is set by the UI or DefaultJComboBox. I can no longer set the background for the selected item.
I have tried using the ComBox Editor. Also, the universal option of UIManager.put("ComboBox.background", Color.xxx) will not work since I have multiple boxes with different backgrounds.
Does anyone no a work around?

Unless I misread your problem you may find that your use of DefaultListCellRenderer is incorrect. The following snippet of code (using Java 1.5.0_07) will make the combo box red. The unselected items in the dropdown will be magenta and the selected item orange.
combo.setBackground(Color.red);
combo.setRenderer(new DefaultListCellRenderer()     {
     public Component getListCellRendererComponent(JList list,
                Object value,
                int index,
                boolean isSelected,
                boolean cellHasFocus)
               Component c = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
               if(isSelected)
                    c.setBackground(Color.ORANGE);
               else
                    c.setBackground(Color.MAGENTA);
               return c;
     });

Similar Messages

  • How to change images of selected items in gridview on selection changed event in universal app

    Hi,
    I am developing Universal App. I have bind the images to the Gridview using ObservableCollection. I have set gridview
    SelectionMode as Multiple . I want to change the images of selected items but I don't know how to do in Selection Changed event of Gridview. I got selected items with the help of
    Gridview SelectedItems property. How can i change the images of respected selected items?
    Please reply me asap.
    Thanks in advance.

    Hi, Sorry for late reply,
    Please change the class : 
    public class ImageCollection : INotifyPropertyChanged
    private string source;
    public string Source
    get { return source; }
    set { SetProperty(ref source, value); }
    public int MyProperty { get; set; }
    protected void SetProperty<T>(ref T storage, T value, [System.Runtime.CompilerServices.CallerMemberName] String propertyName = null)
    if (!object.Equals(storage, value))
    storage = value;
    if (PropertyChanged != null)
    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    protected void RaisePropertyChanged([System.Runtime.CompilerServices.CallerMemberName] String propertyName = null)
    if (PropertyChanged != null)
    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    public event PropertyChangedEventHandler PropertyChanged;
    XAML
    <GridView x:Name="gd"
    Tapped="gd_Tapped">
    <GridView.ItemTemplate>
    <DataTemplate>
    <Grid Height="300" Width="250">
    <Image Source="{Binding Source}" Stretch="Fill"/>
    <Grid Height="100" Background="#B2000000" VerticalAlignment="Bottom">
    <TextBlock Text="{Binding MyProperty}" FontSize="25" />
    </Grid>
    </Grid>
    </DataTemplate>
    </GridView.ItemTemplate>
    </GridView>
    C#
    //ObservableCollection of class
    ObservableCollection<ImageCollection> img = new ObservableCollection<ImageCollection>();
    public MainPage()
    this.InitializeComponent();
    img.Add(new ImageCollection() { MyProperty = 1, Source = "ms-appx:///Assets/Logo.scale-100.png" });
    img.Add(new ImageCollection() { MyProperty = 2, Source = "ms-appx:///Assets/2.jpg" });
    img.Add(new ImageCollection() { MyProperty = 3, Source = "ms-appx:///Assets/3.jpg" });
    img.Add(new ImageCollection() { MyProperty = 4, Source = "ms-appx:///Assets/4.jpeg" });
    gd.ItemsSource = img;
    private void gd_Tapped(object sender, TappedRoutedEventArgs e)
    GridView gv = (GridView)sender;
    ImageCollection ic = gv.SelectedItem as ImageCollection;
    ic.Source = "ms-appx:///Assets/4.jpeg";
    gv.UpdateLayout();
    I have used  INotifyPropertyChanged now UI is not fluctuate 
    and I have not bind again O-Collection.
    I hope so You will get right answer. 
    shah

  • Change background colour of full screen slideshow when set to fit content proportionally

    I've signed up for a demo of Muse and must say I'm very impressed. Having used Dreamweaver in the past at Uni, often getting bogged down in code, Muse is a designers dream. I've even told some friends about it, describing it as "InDesign for web designers". The features, and tutorials on Adobes site, are fab however I'm now needing a bit of assistance.
    I'd like several images to fit the whole screen on a specific section of my Muse website, right under the navigation bar. I've noticed the easiest way to do this is create a full screen slideshow. With this option I can add one, or multiple, pictures to fade in and out - communicating various messages and selling points. By default the widget options are set to Fill Frame, which expands my graphic to completely fill the browser. Unfortunately with this selected the image loses some quality and seems to zoom in, getting cropped in the process. When changing the settings to Fit Content Proportionally everything looks great. The graphic is smack bang right under my navigation like I desire however there is also a ghastly grey box either side because the graphic is now it's original size. The grey on either side seems to be the slideshow background colour but I am unable to figure out a way to alter this - from grey to black. Please see the link for more info: https://dl.dropboxusercontent.com/u/50403221/Screen%20Shot%202014-08-14%20at%2018.00.34.pn g
    Would any fellow Musers know of a way to get round this? Or perhaps should this be an enhancement request?
    Thanks, Chris

    Hi Chris,
    Can you select the slideshow widget that you have added and check the fill color in control panel.
    Please refer to the following screenshot :
    Regards,
    Akshay

  • How do convert selected item in JComboBox to String?

    I'm trying to get an option from a JComboBox to print in a JTextArea upon click.
    I've tried many ways, including converting to String, String array, and using textArea.append which doesn't seem to work either. .
    can anyone help?

    toString and actionlistener, bah. figured it out, sorry to trouble you :)

  • ViewStack programmatically changing selected item

    Hi Guys or Ladies
    New to flex and here is my scenario:
    Using a ViewStack that has multipule custom componentes (forms) in it.
    I have a diffrent navigation control that when clicked should preform two simple tasks.
    1. Change the viewstack selected item according to the clicked item in the navigation control.
    2. Bind Specific data to the inner custom component in the viewstack that should be set to selected already.
    Sounds simple ... but for some reason  unknown to me.
    After I set the viewstack selectedchild to the right custom component
    when I try to bind my data to that component I see that the change in the viewstack has occurred yet
    and the component is still null;
    Here is the code.
    private function NavigationControl_ItemClick(event:MyCustomEvent):void{ 
    //change viewstack selectedChild
    MyViewStack.selectedChild = ThisSpecificComponent;
    //Bind Data to the new created instance of component in the viewstack
    ThisSpecificComponent.data = event.data;
    Thanks

    Set components creationPolicy value to "All" This property initialize all components inside the container, so you dont get null object reference.

  • How to change color inside single item? [SOLVED]

    I'd like to change background color inside item (on blue for ex.: see http://www.marussig.si/weblib/screen.jpg ) . The problem is that the block is multiline block but I have to change the color just on one line in one column. Is this possible? If I use set_item_propery syntaks, the whole item changes the color what I don't want to do.
    thanks for help!
    m.

    emails between two posters is no solution. This forum needs solutions, which each user can participate from. So please refer to a web-space, where your solution is downloadable.

  • How to change the selection background color of the selected item in the popup menu of the choice box ?

    How to change the selection background color of the selected item in the popup menu of the choice box ?
    By defaut, the selection background color likes "blue", but if I want it to be "yellow" for example, how should I do ?
    Thanks

    The id is applied by (I think) the skin class of the ChoiceBox. You don't need to define it.
    You have to apply the css in an external style sheet. You can apply the external style sheet to any parent of your choice box, or to the scene (the most usual way to do it).
    Example:
    import java.util.ArrayList;
    import java.util.List;
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.ChoiceBox;
    import javafx.scene.layout.VBox;
    import javafx.stage.Stage;
    public class ChoiceBoxTest extends Application {
      @Override
      public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("Example 2");
        final ChoiceBox<String> choiceBox = new ChoiceBox<>();
        List<String> tempResult = new ArrayList<String>();
        for (int i = 0; i < 10; i++) {
          tempResult.add("Item " + i);
        choiceBox.getItems().setAll(tempResult);
        VBox root = new VBox();
        root.getChildren().add(choiceBox);
        final Scene scene = new Scene(root, 300, 250);
        scene.getStylesheets().add("choiceBox.css");
        primaryStage.setScene(scene);
        primaryStage.show();   
      public static void main(String[] args) {
        launch(args);
    choiceBox.css:
    @CHARSET "UTF-8";
    #choice-box-menu-item:focused  {
    -fx-background-color: yellow ;
    #choice-box-menu-item .label {
    -fx-text-fill: black ;
    Message was edited by: James_D

  • The 'selected items' color randomly changes and I can't figure out why.

    Hi everybody, I recently upgraded to Firefox 13, which appears to be the most stable browser version so far and I really like it. I have loved Firefox very much, having used it since somewhere between versions 2 and 3.
    After upgrading to version 13 I noticed something that annoys me quite a bit. This may have been present before but I can't remember and I did not notice until now.
    On my computer (Windows 7 x64 Ultimate) I have set the color of the 'selected items' (specifically text) to be lime green text on a slightly off black background. I chose this color scheme because it blends very well with Firefox itself (I have the NASA night launch theme), Windows Explorer, and many web pages that I have changed to a dark theme (using the Stylish browser extension). This color scheme has excellent contrast in areas with black text on a light background, as well as light text on a dark background. It has served me well.
    After upgrading to Firefox 13 I have noticed that if the web page is dark with light text, the 'selected items' color changes to lime green text on a light grey background. (Less frequently, it changes instead to off-black text on a lime green background). I have not been able to isolate the threshold where this change occurs (meaning how dark the website background needs to be /how light the text needs to be for this to happen) nor have I found a solution.
    This problem sometimes extends even to sites that have dark text on a light background: when tabs are switched, with no input fields clicked and the address bar is not clicked. This very page (Firefox support) is apparently vulnerable as well.
    This problem only happens on rendered web pages. Firefox's menus, buttons and toolbars, as well as all other programs and Windows itself, are unaffected.
    I want the 'selected items' to remain as I have set it, and not deviate regardless of the apparent contrast or color scheme of the web page being displayed.
    [Edit #1]: Interestingly, as I was copying the information from about:support I noticed that it is affected as well.
    Any suggestions? Thanks so much, and I am sorry for the long-winded description. tl;dr look at the pictures.
    [http://i.imgur.com/vmLZ6.png selected items]
    [http://i.imgur.com/d8xsa.png example1]
    [http://i.imgur.com/2OE9J.png example2]
    [http://i.imgur.com/1lhvb.png example3]
    [http://i.imgur.com/UWOOp.png example4]

    It is always best to avoid making changes to the selected text colors.<br />
    Firefox uses an algorithm to check if the contrast is sufficient and will swap text and background colors if that test fails.<br />
    *http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsTextFrameThebes.cpp#3349
    *http://forums.mozillazine.org/viewtopic.php?f=38&t=1331845

  • Background color change question - only selecting the footer

    I use the darkroom theme and was curious about changing the page background color. Right now my settings use the darkroom theme 'right out of the box' which is 'image fill' on both the page and browser background. That is the textured look.
    When I try to change the color, selecting 'color fill' instead of 'image fill', it only changes the footer - not the entire page background.
    I'm guessing it's not possible to change a color using the 'image fill.' You get 'image fill' in black or gray as shown and that is it, except should you decide to use your own image, which I do not.
    Any way to be able to have a change apply to the entire page and not just the footer?
    Suggestions welcome.

    I tried to do the same just see what the problem was and failed. It is probably 'cos the top layer is independant of the page background or browser background. Even when I had page background none and altered the browser background it made no difference. If you want anything different try using a blank black or white theme and putting your own graphics on there. You can make quite nice backgrounds if you have a decent paint or photo program.
    Message was edited by: Hazell

  • State Change causing tree item to loss selected item highlight

    I'm looking for some guidance on a situation i'm encountering. I've an application with a tree component which will be used as a report selector in all view states. The parent nodes are not selectable but the children are. Each child has a for a lack of a better term parameter classification. When a report item is selected in the tree then a state change occurs and displays the appropriate parameter selection view.
    My issue is this. Upon clicking an item and displaying the new state for the first time, the selected item in the tree losses the visual representation or highlight around the selected item. But within the debugger it still shows which item is the selectedItem.  Once the state has been displayed at least once...i.e. I select other items and then eventually back to initial tree item when the state changes it does not loss the highlight on the selected tree item.
    Couple things I've tried to see if i'm in the right neck of the woods is use the currentStateChange and currentStateChanging handlers to do a bit of tracing and found that the tree item remains selected all the way through both currentStateChanging and then even in the currentStateChange...the redraw occurs just after which is when the tree item losses its highlight.
    Does anyone have any ideas or even encounter this?

    Good question. Well you're right in asking. Just using a spark Label to show me the label of the selectedItem, upon the first time I click on the selection nothing populates the label's text BUT the state changes as its suppose to. Took me clicking on it a second time to get the item to be highlighted and the label to show me what had been selected.
    My question here is...is there another event which is occurring after the changeState?

  • Select item JComboBox

    I have 2 JComboBoxes.
    The first contains: "all", x rows (query from a db)
    The second: "all sectors", y rows (query from a db)
    When i select one item from the first combo, the second hasd to start with "all sectors" + the rows that are queried from the db with the selected item from the first as parameter. That's not a problem.
    The problem appears when its done the other way around: when i select an item from the second combo, then has to appear in the first combo the corresponding item. but the second combo is filled up with only the rows that are queried from the db with the selected item from the first as parameter and so i always lose the item i selected in the second combo.
    can anyone help me plz?
    greetz
    hysterio
    ps. can i easily sort the items in a combo in alfabetic order?

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Test2 extends JFrame {
      UserData[] userData = {new UserData("Ignatz","Renitskiwitz",1),
                             new UserData("John","Doe",37),
                             new UserData("Mary","Snow",96)};
      public Test2() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Container content = getContentPane();
        JComboBox jcb = new JComboBox(userData);
        content.add(jcb, BorderLayout.NORTH);
        jcb.addItemListener(new ItemListener() {
          public void itemStateChanged(ItemEvent ie) {
            if (ie.getStateChange()!=ItemEvent.SELECTED) return;
            System.out.println("You picked user id "+((UserData)ie.getItem()).getID());
        setSize(300,300);
      public static void main(String[] args) { new Test2().setVisible(true); }
    class UserData {
      String fn, ln;
      int id;
      public UserData(String fn, String ln, int id) {
        this.fn=fn;
        this.ln=ln;
        this.id=id;
      public String toString() { return fn+" "+ln; }
      public int getID() { return id; }
    }

  • How to change selected item color and the selected area size of listview

    What i really need to do is change the following things in XMAL.
    1. Changing the selection color
    2. Size of selected area 
    Thanks in advance.
    Dileepa S. Rajapaksa
    Trainee Developer
    Microsoft, Sri Lanka
    Twitter : @dsrajapaksa
    Blog : http://www.dileepatech.net

    Hi Dileepa,
    It is possible by customize the control by its template, see this for more information:
    ListViewItem styles and templates.
    By changing the selected visual state, you can change the color of the ListView item background, also the size of the selected item.
    --James
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Just uploaded iso7 , . . .hate it!  Can you change background colours?  How do you add a new item/activity to the schedule? In notes the font has changed, can I change it back and the link colour is now yellow instead of blue, can I change it?  Thanks

    Just uploaded iso7 , . . .hate it!  Can you change background colours?  How do you add a new item/activity to the schedule? In notes the font has changed, can I change it back and the link colour is now yellow instead of blue, can I change it?  Yellow on white is harder to read. Thanks

    Another question. How do you bookmark something.  It was so easy before, why did they change it?  Can I uninstall it?

  • Error Occur when trying to select Item List

    Hi Experts,
    Machine gets Hang when trying to select Item List  in  row level PO,SO ect as well as in item master Data when Pressing Star ( * ) .
    and when trying to close this window then error occur as close the program and problem occur on server itself
    Test Database is working fine.
    worked around
    1.Restarted  the machine
    2.Restarted services
    using SBO 9.0 PL 7
    OS-Window 7 Professional
    Please Find the Two Error Attachments
    Please help me
    Thanks & Regards
    Navnath

    Hi
    Check the below thread
    SAPB1 Application Hang and Not responding when i serch item in any document
    With Regards
    Balaji Sampath

  • How can i change the color of selected item in combo box, the selected item color is same as accent color, i want to change this to custom color

    <Page
    x:Class="App1.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App1"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid Background="White">
    <ComboBox HorizontalAlignment="Left"
    BorderBrush="Black"
    Foreground="Black"
    Margin="80,272,0,0" VerticalAlignment="Top" Width="205" Style="{StaticResource BorderColor}">
    <ComboBoxItem Content="One" IsSelected="True"/>
    <ComboBoxItem Content="Two"/>
    <ComboBoxItem Content="Three"/>
    <ComboBoxItem Content="Four"/>
    <ComboBoxItem Content="Five"/>
    </ComboBox>
    </Grid>
    </Page>

    Hi,
    you can open the project in blend and then select the combobox for get the default style for combobox and for selected item . Please reference the
    set combobox style.
    Or see
    quickstart: Styling controls topic to deep understand it.
    Hope helpful for you.
    --Simon
    True mastery of any skill takes a lifetime.

Maybe you are looking for

  • Conversion error varchar2 to number

    Hi, I have a primary key "regnum", defined as varchar2(5). But all the values are numeric, however the number is positioned at the beginning of the varchar2-attribute. Example: 123bb in stead of bb123. In sql workshop I used the query "select from wh

  • End Date Payment Terms in Oracle Receivables

    Hi, I would like to know if a particular 'Payment Term' can be end dated even if there are invoices with - a) open receivable balance b)Unposted accounting lines.. Thanks, Madhu

  • XI/PI

    XI/PI - what is this PI?

  • PLEASE HELP! THIS IS URGENT! CAN'T INSTALL PRO AS IT SAYS DO NOT MEET MINIMUM SYSTEM REQUIREMENTS!

    I have a Macbook 10.6.8 and have AE CS5.5 installed already but when installing Premiere Pro it says cannot meet system requirements. At first I started to download and everything seemed ok until I put 2 nd disk in and then it just crashed. I cannot

  • FLA File Can't Be Opened

    Hi I use Macromedia Flash 8 Professional. I created a menu for my website. The problem is that when I close the program and open the file again to edit it or continue my work, I notice that some of the Graphics and Movie Clips are replaced by some of