Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #19232

Combobox Project: How to put 4 text items in the combobox

Newsgroups comp.lang.java.programmer
Date 2012-10-10 12:41 -0700
Message-ID <f8e072b4-0c3c-4aac-9ded-83c5962cab9a@googlegroups.com> (permalink)
Subject Combobox Project: How to put 4 text items in the combobox
From christopher.m.lusardi@gmail.com

Show all headers | View raw


How do I change the below project, so that it has the following text as the 4 items of the combobox: Apples, Cars, Shrimp, Moon.



package colorcomboboxeditor;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ComboBoxEditor;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.event.EventListenerList;

class ColorComboBoxEditor implements ComboBoxEditor
{
    final protected JButton editor;
    protected EventListenerList listenerList = new EventListenerList();

    public ColorComboBoxEditor(Color initialColor) 
    {
        editor = new JButton("");
        editor.setBackground(initialColor);
        
        ActionListener actionListener = new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                Color currentBackground = editor.getBackground();
                Color color = JColorChooser.showDialog(editor, "Color Chooser", currentBackground);
                
                if ( (color != null) && (currentBackground != color) ) 
                {
                    editor.setBackground(color);
                    fireActionEvent(color);
                }
            }
        };
        
        editor.addActionListener(actionListener);
    }

    public void addActionListener(ActionListener l)
    {
        listenerList.add(ActionListener.class, l);
    }

    public Component getEditorComponent()
    {
        return editor;
    }

    public Object getItem()
    {
        return editor.getBackground();
    }

    public void removeActionListener(ActionListener l)
    {
        listenerList.remove(ActionListener.class, l);
    }

    public void selectAll() 
    {
        // Ignore
    }

    public void setItem(Object newValue) 
    {
        if ( newValue instanceof Color )
        {
            Color color = (Color) newValue;
            editor.setBackground(color);
        } 
        else
        {
            try
            {
                Color color = Color.decode(newValue.toString());
                editor.setBackground(color);
            } 
            catch (NumberFormatException e)
            {
            }
        }
    }

    protected void fireActionEvent(Color color)
    {
        Object listeners[] = listenerList.getListenerList();
        
        for (int i = listeners.length - 2; i >= 0; i -= 2) 
        {
            if ( listeners[i] == ActionListener.class ) 
            {
                ActionEvent actionEvent = new ActionEvent(editor, ActionEvent.ACTION_PERFORMED, color.toString());
                ((ActionListener) listeners[i + 1]).actionPerformed(actionEvent);
            }
        }
    }
}



//-----------
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package colorcomboboxeditor;

import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JComboBox;
import javax.swing.JFrame;

public class ColorComboBoxEditorDemo
{

    public static void main(String args[])
    {
        Color colors[] = {Color.WHITE, Color.BLACK, Color.RED, Color.BLUE};
        JFrame frame = new JFrame("Editable JComboBox");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        final JComboBox comboBox = new JComboBox(colors);
        comboBox.setEditable(true);
        comboBox.setEditor(new ColorComboBoxEditor(Color.RED));
        frame.add(comboBox, BorderLayout.NORTH);

        frame.setSize(300, 100);
        frame.setVisible(true);
    }
}

Back to comp.lang.java.programmer | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Combobox Project: How to put 4 text items in the combobox christopher.m.lusardi@gmail.com - 2012-10-10 12:41 -0700
  Re: Combobox Project: How to put 4 text items in the combobox Knute Johnson <nospam@knutejohnson.com> - 2012-10-10 13:31 -0700
  Re: Combobox Project: How to put 4 text items in the combobox clusardi2k@aol.com - 2012-10-10 14:35 -0700
    Re: Combobox Project: How to put 4 text items in the combobox Knute Johnson <nospam@knutejohnson.com> - 2012-10-10 16:30 -0700
      Re: Combobox Project: How to put 4 text items in the combobox markspace <-@.> - 2012-10-10 16:53 -0700
  Re: Combobox Project: How to put 4 text items in the combobox Roedy Green <see_website@mindprod.com.invalid> - 2012-10-11 14:29 -0700

csiph-web