iconlistitemrenderer.java

来自「注:语音聊天部分还未完成」· Java 代码 · 共 43 行

JAVA
43
字号
package com.gamvan.club.users.im.client.personalchat.mylist;

import java.awt.Color;
import java.awt.Component;

import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
import javax.swing.border.Border;


public class IconListItemRenderer extends JLabel implements
	ListCellRenderer{
	/**
         * 扩展JLabel,用以实现ListCellRenderer接口
	 * 主要是因为JLabel能够显示图片,利用ListCellRenderer来返回JLabel对象,
         * 添加到JList上面,以用来显示图片
	 */
	private static final long serialVersionUID = 1L;	
	private Border
            selectedBorder = BorderFactory.createLineBorder(Color.YELLOW,2),
            emptyBorder = BorderFactory.createEmptyBorder(1,1,1,1);	
	public Component getListCellRendererComponent(JList list, 
            Object value, int index, 
		boolean isSelected, boolean cellHasFocus) {
		
            IconListItem item = (IconListItem)value;
		
            this.setIcon(item.getIcon());
            this.setText(item.getText());

            if (isSelected){ 
        	setBorder (selectedBorder);
            }else{ 
        	setBorder(emptyBorder);
            }
            return this;
		
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?