findlistmodel.java

来自「JAVA的高级应用以及网络编程」· Java 代码 · 共 60 行

JAVA
60
字号
import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.util.Vector;import java.net.*;import java.io.*; //以下扩展DefaultListModel类建立列表public class FindListModel extends DefaultListModel{	//构造器	public FindListModel(Vector nickname,Vector sex,Vector place){		for(int i=0;i<nickname.size();++i){			addElement(new Object[]{nickname.get(i),sex.get(i),place.get(i)});		}	}		public  String getName(Object object){		Object[] array=(Object[])object;		return(String) array[0];	}		public String getSex(Object object){		Object[] array=(Object[]) object;		return (String) array[1];	}		public String getPlace(Object object){		Object[] array=(Object[])object;		return (String) array[2];	}}//DefaultListModel类 end//以下是处理列表渲染class FindListCellRenderer extends JLabel implements ListCellRenderer{	private Border lineBorder=BorderFactory.createLineBorder(Color.red,2),	emptyBorder =BorderFactory.createEmptyBorder(2,2,2,2);	//构造器	public FindListCellRenderer(){		setOpaque(true);	}			public Component getListCellRendererComponent(JList list,Object value,int index,                                                boolean isSelected,boolean cellHasFocus){		FindListModel model=(FindListModel) list.getModel();		setText(model.getName(value)+"  "+model.getSex(value)+"  "+model.getPlace(value));		if(isSelected){			setForeground(list.getSelectionForeground());			setBackground(list.getSelectionBackground());		}		else {			setForeground(list.getForeground());			setBackground(list.getBackground());		}		if(cellHasFocus) setBorder(lineBorder);		else setBorder(emptyBorder);		return this;	}}//FindListCellRenderer end

⌨️ 快捷键说明

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