如何在JComboBox中加入图象? 必须用绘制器,比较复杂,你可以看看<java2 图形设计 卷II swing>,那里面有一些简单的例子! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你个例子吧import java.awt.*;import java.awt.event.*;import javax.swing.*;public class CustomComboBoxDemo extends JPanel { ImageIcon images[]; public CustomComboBoxDemo() { //Load the pet images String[] petStrings = {"Bird", "Cat", "Dog", "Rabbit", "Pig"}; images = new ImageIcon[petStrings.length]; for (int i = 0; i < petStrings.length; i++) { images[i] = new ImageIcon("images/" + petStrings[i] + ".gif"); images[i].setDescription(petStrings[i]); } // Create the combo box JComboBox petList = new JComboBox(images); ComboBoxRenderer renderer= new ComboBoxRenderer(); renderer.setPreferredSize(new Dimension(200, 130)); petList.setRenderer(renderer); petList.setMaximumRowCount(3); // Layout the demo setLayout(new BorderLayout()); add(petList, BorderLayout.NORTH); setBorder(BorderFactory.createEmptyBorder(20,20,20,20)); } public static void main(String s[]) { JFrame frame = new JFrame("CustomComboBoxDemo"); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0);} }); frame.getContentPane().add(new CustomComboBoxDemo(), BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } class ComboBoxRenderer extends JLabel implements ListCellRenderer { public ComboBoxRenderer() { setOpaque(true); setHorizontalAlignment(CENTER); setVerticalAlignment(CENTER); } public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { if (isSelected) { setBackground(list.getSelectionBackground()); setForeground(list.getSelectionForeground()); } else { setBackground(list.getBackground()); setForeground(list.getForeground()); } ImageIcon icon = (ImageIcon)value; setText(icon.getDescription()); setIcon(icon); return this; } }} 动手写网络爬虫第一章代码出现警告 Java Swing 程序代碼問題(急) 问个小问题 同学无意间写的代码 谁能不通过执行 自己写出正确的结果 大家来看看自己的基础怎么样 着急,运行 jar文件时控制台的输出能看见么? 用jexcel API怎样往现有的workbook中插入sheet? 关于连数据库的一个小问题,急,急,,,,在线等待,请帮我解答,谢谢 一个java IO 问题。。。 大家来看看。 java初级问题??? 一个关于线程的小程序求解!谢谢! 请问JavaMail的API在什么地方(我用的是VisualAge for java 4.0),急!
import java.awt.event.*;
import javax.swing.*;public class CustomComboBoxDemo extends JPanel
{
ImageIcon images[]; public CustomComboBoxDemo()
{
//Load the pet images
String[] petStrings = {"Bird", "Cat", "Dog", "Rabbit", "Pig"};
images = new ImageIcon[petStrings.length];
for (int i = 0; i < petStrings.length; i++)
{
images[i] = new ImageIcon("images/" + petStrings[i] + ".gif");
images[i].setDescription(petStrings[i]);
} // Create the combo box
JComboBox petList = new JComboBox(images);
ComboBoxRenderer renderer= new ComboBoxRenderer();
renderer.setPreferredSize(new Dimension(200, 130));
petList.setRenderer(renderer);
petList.setMaximumRowCount(3); // Layout the demo
setLayout(new BorderLayout());
add(petList, BorderLayout.NORTH);
setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
} public static void main(String s[]) {
JFrame frame = new JFrame("CustomComboBoxDemo");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});
frame.getContentPane().add(new CustomComboBoxDemo(),
BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
} class ComboBoxRenderer extends JLabel implements ListCellRenderer {
public ComboBoxRenderer() {
setOpaque(true);
setHorizontalAlignment(CENTER);
setVerticalAlignment(CENTER);
} public Component getListCellRendererComponent(
JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus) {
if (isSelected) {
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
} else {
setBackground(list.getBackground());
setForeground(list.getForeground());
} ImageIcon icon = (ImageIcon)value;
setText(icon.getDescription());
setIcon(icon);
return this;
}
}
}