📄 nameandpiclistmodel.java
字号:
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 NameAndPicListModel extends DefaultListModel
{ public NameAndPicListModel(Vector friendnames,String [] pics)
{ for(int i=0;i<friendnames.size();++i){
addElement(new Object[]{friendnames.get(i),new ImageIcon(pics[i])});
}
}
public String getName(Object object)
{ Object[] array=(Object[])object;
return(String) array[0];
}
public Icon getIcon(Object object)
{ Object[] array=(Object[]) object;
return (Icon) array[1];
}
}
class NameAndPicListCellRenderer extends JLabel implements ListCellRenderer
{ private Border lineBorder=BorderFactory.createLineBorder(Color.red,2),
emptyBorder =BorderFactory.createEmptyBorder(2,2,2,2);
public NameAndPicListCellRenderer(){
setOpaque(true);
}
public Component getListCellRendererComponent(JList list,Object value,int index,
boolean isSelected,boolean cellHasFocus)
{ NameAndPicListModel model=(NameAndPicListModel) list.getModel();
setText(model.getName(value));
setIcon(model.getIcon(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;
}
}
class MainWin_list_mouseAdapter extends java.awt.event.MouseAdapter {
Main adaptee;
MainWin_list_mouseAdapter(Main adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.list_mouseClicked(e);
}
}
class MainWin_direct_mouseAdapter extends java.awt.event.MouseAdapter {
Main adaptee;
MainWin_direct_mouseAdapter(Main adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.direct_mouseClicked(e);
}
}
class MainWin_ok_mouseAdapter extends java.awt.event.MouseAdapter {
Main adaptee;
MainWin_ok_mouseAdapter(Main adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.ok_mouseClicked(e);
}
}
class MainWin_sendmessage_mouseAdapter extends java.awt.event.MouseAdapter {
Main adaptee;
MainWin_sendmessage_mouseAdapter(Main adaptee) {
this.adaptee = adaptee;
}
public void mousePressed(MouseEvent e) {
adaptee.sendmessage_mousePressed(e);
}
}
class MainWin_cancel_mouseAdapter extends java.awt.event.MouseAdapter {
Main adaptee;
MainWin_cancel_mouseAdapter(Main adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.cancel_mouseClicked(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -