⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nameandpiclistmodel.java

📁 实现简单聊天功能
💻 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 + -