java 下拉框添加图片,java Swing JComboBox下拉框显示图片问题

public class mousergister extends JPanel {

JPanel jp;

JComboBox setImg;

ComboBoxRenderer renderer;public static void main(String[] args) {

new mousergister();

}

public mousergister() {

BaseFrame bf=new BaseFrame("用户注册");

bf.add(this);

this.setLayout(null);

renderer = new ComboBoxRenderer();

renderer.setPreferredSize(new Dimension(100, 50));

Object elements[][] = {

{ new MyIcon("images/1.jpg",this)},

{ new MyIcon("images/2.gif",this) },

{ new MyIcon("images/3.jpg",this)},

};

setImg = new JComboBox(elements);

setImg.setRenderer(renderer);

setImg.setBounds(120, 25, 75, 60);

add(setImg);

bf.setLocation(500, 100);// 设置窗口在屏幕的位置

bf.setSize(320, 420);

bf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

bf.setResizable(false);// 设置游戏窗口大小不可改变

bf.setVisible(true);

}

private class ComboBoxRenderer extends JLabel implements ListCellRenderer {

// 这样要是实现接口的方法:

/*

*

* This method finds the image and text corresponding to the selected

*

* value and returns the label, set up to display the text and image.

*/

@Override

public Component getListCellRendererComponent(JList list, Object value,

int index, boolean isSelected, boolean cellHasFocus) {

ImageIcon image=null;

if (value instanceof Object[]) {

Object[] values = (Object[]) value;

image = (ImageIcon)values[0];

}

if (image != null) {

this.setIcon(image);

}

return this;

}

}

private class MyIcon extends ImageIcon{

private Image m;

private String str;

private mousergister jp;

public MyIcon(String str,mousergister jp) {

Toolkit tool;

tool = jp.renderer.getToolkit();

m = tool.getImage(str);

}

public void paintIcon(Component lab, Graphics g){

lab=jp.renderer;

图片不会显示。。。怎么改?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值