我需要在 JComboBox 中显示图像
问问题
20687 次
2 回答
11
只需向模型添加一个图标而不是字符串:
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 );
}
}
于 2010-10-18T23:27:55.533 回答
2
看看这个看起来可以做你想做的事的例子。
http://www.java2s.com/Code/Java/Swing-JFC/CustomComboBoxwithImage.htm
您正在寻找的是 JComboBox 的自定义渲染器。渲染器只是一个 JComponent,因此如果您可以创建一个组件(包含必要项目的 JPanel),那么您几乎可以创建任何您能想到的结果)。如果使用标准 JComponents 对您来说还不够,您甚至可以覆盖paint 方法。
于 2010-10-18T11:31:02.540 回答