1 package zirc.threads ; 2 3 import java.util.* ; 4 import javax.swing.* ; 5 import zirc.base.* ; 6 import zirc.gui.* ; 7 8 21 28 29 public class AddUserListInChanThread extends PseudoThread 30 { 31 private ChatFrame chatFrame ; 32 private String users ; 33 34 41 public AddUserListInChanThread(ChatFrame _chatFrame, String _users) 42 { 43 chatFrame = _chatFrame ; 44 users = _users ; 45 } 46 47 52 public void go() 53 { 54 55 String userName ; 57 58 ChanUser userFinal ; 60 61 StringTokenizer str = new StringTokenizer(users, " ") ; 62 63 ChanUser vectUsers[] = new ChanUser[str.countTokens()] ; 64 int i = 0 ; 65 66 while (str.hasMoreTokens()) 68 { 69 userName = str.nextToken() ; 70 71 if (userName.charAt(0) == '+') 73 { 74 userFinal = new ChanUser(userName.substring(1), ChanUser.VOICE) ; 75 } 76 else 77 { 78 if (userName.charAt(0) == '@') 79 { 80 userFinal = new ChanUser(userName.substring(1), ChanUser.OP) ; 81 } 82 else 83 { 84 if (userName.charAt(0) == '%') 85 { 86 userFinal = new ChanUser(userName.substring(1), ChanUser.HALFOP) ; 87 } 88 else 89 { 90 userFinal = new ChanUser(userName, ChanUser.NORM) ; 91 92 } 93 } 94 } 95 96 vectUsers[i] = userFinal ; 98 i++ ; 99 } 100 101 sort(vectUsers) ; 103 104 addUsers(vectUsers) ; 106 107 isFinished = true ; 108 109 } 110 111 public void sort(ChanUser[] _vect) 112 { 113 Arrays.sort(_vect) ; 114 } 115 116 public void addUsers(ChanUser[] _vect) 117 { 118 DefaultListModel lm = chatFrame.getListModel() ; 120 121 lm.clear() ; 123 124 134 for (int i = 0 ; i < _vect.length ; i++) 135 { 136 lm.addElement(_vect[i]) ; 137 } 138 139 System.err.println("Done") ; 140 chatFrame.getUserList().validate() ; 141 } 142 143 } 144 | Popular Tags |