colorlistcellrenderer.java

来自「模仿腾讯QQ的」· Java 代码 · 共 41 行

JAVA
41
字号
package com.softfz.jn0708.chat.sendpanel.fontpanel.colorcombobox;

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

/**
 * 颜色绘制器
 */
public class ColorListCellRenderer extends JLabel implements ListCellRenderer {
	
	private Border lineBorder = BorderFactory.createLineBorder(Color.red,3);
	private Border emptyBorder = BorderFactory.createEmptyBorder(2,2,2,2); 

	/**
	 * 绘制器构造
	 *
	 */
	public ColorListCellRenderer(){
		setOpaque(true);
	}
	
	/**
	 * 获取绘制器
	 */
	public Component getListCellRendererComponent(JList list, Object value,
			int index, boolean isSelected, boolean cellHasFocus) {
		// TODO 自动生成方法存根
		ColorObject co = (ColorObject)value;
		Color color = co.getColor();
		String text = co.getText();
		
		setText(text);
		setBackground(color);
		setForeground(Color.WHITE);
		setBorder(cellHasFocus ?  lineBorder : emptyBorder);
		return this;
	}

}

⌨️ 快捷键说明

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