在JComboBox中显示图像

Lal*_*and 10 java jcombobox

我需要在JComboBox中显示图像

cam*_*ckr 11

只需在模型中添加一个Icon而不是String:

import java.awt.*;
import javax.swing.*;

public class ComboBoxIcon extends JFrame
{
    JComboBox comboBox;

    public ComboBoxIcon()
    {
        Object[] items =
        {
            new ImageIcon("about16.gif"),
            new ImageIcon("add16.gif"),
            new ImageIcon("copy16.gif")
        };
        comboBox = new JComboBox( items );
        getContentPane().add( comboBox, BorderLayout.NORTH );
    }

    public static void main(String[] args)
    {
        JFrame frame = new ComboBoxIcon();
        frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
        frame.pack();
        frame.setLocationRelativeTo( null );
        frame.setVisible( true );
    }
}
Run Code Online (Sandbox Code Playgroud)


Cod*_*nci 2

看一下这个示例,它似乎可以满足您的要求。

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

您正在寻找的是 JComboBox 的自定义渲染器。渲染器只是一个 JComponent,因此如果您可以创建一个组件(包含必要项目的 JPanel),那么您几乎可以创建您能想到的任何结果)。如果使用标准 JComponent 对您来说还不够,您甚至可以重写 Paint 方法。