Chamar uma classe para um combobox da interface

Desculpa fazer essa pergunta mas estou meio confuso. copiei um exemplo de código da net que coloca imagens com descrição em um combobox, mas no exemplo a pessoa criava um comobobox e como estou utilizando o da interface do netbeans, não soube chamar a classe para ele.

Segue o código:

package Cadastro;
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Font;
    import javax.swing.ImageIcon;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JPanel;
    import javax.swing.ListCellRenderer;

    /*
     * CustomComboBoxDemo.java is a 1.4 application that uses the following files:
     *   images/Bird.gif
     *   images/Cat.gif
     *   images/Dog.gif
     *   images/Rabbit.gif
     *   images/Pig.gif
     */
    public class CustomComboBoxDemo extends JPanel {
        ImageIcon[] images;
        String[] petStrings = {"Critico", "Cat", "Dog", "Rabbit", "Pig"};

        /*
         * Despite its use of EmptyBorder, this panel makes a fine content
         * pane because the empty border just increases the panel's size
         * and is "painted" on top of the panel's normal background.  In
         * other words, the JPanel fills its entire background if it's
         * opaque (which it is by default); adding a border doesn't change
         * that.
         */
        public CustomComboBoxDemo() {
            super(new BorderLayout());

            //Load the pet images and create an array of indexes.
            images = new ImageIcon[petStrings.length];
            Integer[] intArray = new Integer[petStrings.length];
            for (int i = 0; i < petStrings.length; i++) {
                intArray[i] = new Integer(i);
                images[i] = createImageIcon("/images/" + petStrings[i] + ".png");
                if (images[i] != null) {
                    images[i].setDescription(petStrings[i]);
                }
            }
        }

        /** Returns an ImageIcon, or null if the path was invalid. */
        protected static ImageIcon createImageIcon(String path) {
            java.net.URL imgURL = CustomComboBoxDemo.class.getResource(path);
            if (imgURL != null) {
                return new ImageIcon(imgURL);
            } else {
                System.err.println("Couldn't find file: " + path);
                    return null;
            }
        }

        /**
         * Create the GUI and show it.  For thread safety,
         * this method should be invoked from the
         * event-dispatching thread.
         */
      

        class ComboBoxRenderer extends JLabel
                               implements ListCellRenderer {
            private Font uhOhFont;

            public ComboBoxRenderer() {
                setOpaque(true);
                setHorizontalAlignment(CENTER);
                setVerticalAlignment(CENTER);
            }

            /*
             * This method finds the image and text corresponding
             * to the selected value and returns the label, set up
             * to display the text and image.
             */
            public Component getListCellRendererComponent(
                                               JList list,
                                               Object value,
                                               int index,
                                               boolean isSelected,
                                               boolean cellHasFocus) {
                //Get the selected index. (The index param isn't
                //always valid, so just use the value.)
                int selectedIndex = ((Integer)value).intValue();

                if (isSelected) {
                    setBackground(list.getSelectionBackground());
                    setForeground(list.getSelectionForeground());
                } else {
                    setBackground(list.getBackground());
                    setForeground(list.getForeground());
                }

                //Set the icon and text.  If icon was null, say so.
                ImageIcon icon = images[selectedIndex];
                String pet = petStrings[selectedIndex];
                setIcon(icon);
                if (icon != null) {
                    setText(pet);
                    setFont(list.getFont());
                } else {
                    setUhOhText(pet + " (no image available)",
                                list.getFont());
                }

                return this;
            }

            //Set the font and text when no image was found.
            protected void setUhOhText(String uhOhText, Font normalFont) {
                if (uhOhFont == null) { //lazily create this font
                    uhOhFont = normalFont.deriveFont(Font.ITALIC);
                }
                setFont(uhOhFont);
                setText(uhOhText);
            }
        }
    }

Estou querendo chamar essa classe em um outro jframe também utilizado do netbeans para o combobox: “jComboBox4”

É simples, clique com o botão direito do mouse na classe CustomComboBoxDemo e em “Compilar Arquivo”, depois abra o JFrame no modo “Projeto”, clique e arraste o CustomComboBoxDemo para o local onde ficará no JFrame.

deu certo, vlw!

no caso ele abriu tipo um painel, ai jogo dentro desse painel?

Após clicar e arrastar, vai aparecer o componente, como o CustomComboBoxDemo estende da classe JPanel, pode ser que tenha a aparência de um “painel”. Após adicionar o componente, tente executar, pode ser que apareça um pouco pequeno, então aumente o tamanho.

sim, aparece sim, mas no caso pra colocar ele linkado no meu combobox como faço? só arrasto o combo pra dentro desse painel?

Faltou parte no código que vc postou:

public CustomComboBoxDemo() {
    super(new BorderLayout());

    //Load the pet images and create an array of indexes.
    images = new ImageIcon[petStrings.length];
    Integer[] intArray = new Integer[petStrings.length];
    for (int i = 0; i < petStrings.length; i++) {
        intArray[i] = new Integer(i);
        images[i] = createImageIcon("images/" + petStrings[i] + ".gif");
        if (images[i] != null) {
            images[i].setDescription(petStrings[i]);
        }
    }

    //Create the combo box.
    JComboBox petList = new JComboBox(intArray);
    ComboBoxRenderer renderer= new ComboBoxRenderer();
    renderer.setPreferredSize(new Dimension(200, 130));
    petList.setRenderer(renderer);
    petList.setMaximumRowCount(3);

    //Lay out the demo.
    add(petList, BorderLayout.PAGE_START);
    setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
}

O JComboBox é instanciado dentro pelo código onde está " JComboBox petList = new JComboBox(intArray); ", não sei se dar para criar e adicionar pelo modo “Projeto”.

www.java2s.com/Code/Java/Swing-JFC/CustomComboBoxwithImage.htm

Tentei aqui e não consegui, provavelmente não é possível. É mais fácil pegar a classe da net e passar da forma como disse antes. Usando o modo “projeto”, teria que criar duas ou três classes e alterar varias configurações nos componentes (que não sei quais seriam), ou seja, daria muito trabalho.

Entendi. Dessa maneira deu tudo certinho mesmo. Muito obrigado pela ajuda, tenha um bom dia!