public void refresh() { Message message = new Message(); try { message = this.trainingTeaBLService.showFrameStrategy(); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (message.getMesType().equals(MessageType.traTea_showStrategy_fail)) { // JOptionPane.showMessageDialog(this, "整体框架策略尚未发布!"); jl1.setVisible(true); jb2.setEnabled(false); if (jsp1 != null) { jsp1.setVisible(false); } } else if (message.getMesType().equals(MessageType.traTea_showStrategy_success)) { jl1.setVisible(false); ArrayList<Dean> dean = message.getDeans(); ArrayList<String> attriOfDean = message.getAttriOfDean(); tm1 = new StrategyTableModel(dean, attriOfDean); if (jsp1 != null) { jt1.setModel(tm1); jsp1.setVisible(true); } else { jt1 = new JTable(); jt1.setModel(tm1); jsp1 = new JScrollPane(jt1); strategy.add(jsp1); } if (dean.size() >= 15) { jb1.setEnabled(false); } jb2.setEnabled(true); } else { JOptionPane.showMessageDialog(this, "你的网络貌似有点问题!"); } }
public void actionPerformed(ActionEvent ae) { String cmd = ae.getActionCommand().intern(); if (ae.getSource() == butChannel) { String pass = null; String channel = (String) cboChannels.getSelectedItem(); if (channels.containsKey(channel) && ((Boolean) channels.get(channel)).booleanValue()) { String message = "Password for " + channel + "? (blank for no password)"; pass = JOptionPane.showInputDialog( (Component) ae.getSource(), message, "Join Channel", JOptionPane.QUESTION_MESSAGE); } server.writeObject(new SD_Channel(false, channel, ("".equals(pass) ? null : pass))); showUserStatus = false; } else if (ae.getSource() == butCreate) { String channel = JOptionPane.showInputDialog( (Component) ae.getSource(), "Enter the name of the channel", "Create Channel", JOptionPane.INFORMATION_MESSAGE); if (channel == null) return; String message = "Password for " + channel + "? (blank for no password)"; String pass = JOptionPane.showInputDialog( (Component) ae.getSource(), message, "Join Channel", JOptionPane.QUESTION_MESSAGE); server.writeObject(new SD_Channel(true, channel, ("".equals(pass) ? null : pass))); showUserStatus = false; // ---------- Invite a Specific User } else if (ae.getSource() == butInvite) { String invite = JOptionPane.showInputDialog( (Component) ae.getSource(), "Enter the name of the User to Invite", "Invite User", JOptionPane.INFORMATION_MESSAGE); if (invite == null) return; messageText.setText("\\invite " + invite); sendMessage(); } else if (cmd == "whisper") { String user = (String) userList.getSelectedValue(); if (user != null && !messageText.getText().equals("") && !user.equals(username)) { messageText.setText("\\whisper " + user + " " + messageText.getText()); sendMessage(); } else { error( "invalid user or no message, type a message below," + " select a user, and then whisper"); } } else if (cmd == "private message") { String user = (String) userList.getSelectedValue(); if (user != null && !user.equals(username)) { privates.newPrivate(user); } else { error("invalid user"); } } else if (ae.getActionCommand().equals("ignore")) { String user = (String) userList.getSelectedValue(); if (user != null) { ignore(user, false); } else { error("no user selected"); } } else if (cmd == "clear ignore list") { ignores.clear(); updateList(); serverMessage("ignore list cleared"); } else if (cmd == "kick user") { String user = (String) userList.getSelectedValue(); if (user != null) { if (user.equals(username)) { error("cannot kick yourself"); } else { server.writeObject(new SD_Kick(user)); } } else { error("no user selected"); } } }
/** Initializes the graphical components */ public void init() { username = getParameter("username"); if (username == null) { username = JOptionPane.showInputDialog( this, "Please enter a username", "Login", JOptionPane.QUESTION_MESSAGE); } try { PORT = Integer.valueOf(getParameter("port")).intValue(); } catch (NumberFormatException e) { PORT = 42412; } URL url = getDocumentBase(); site = url.getHost(); locationURL = "http://" + site + ":" + url.getPort() + "/" + url.getPath(); setSize(615, 362); c = getContentPane(); c.setBackground(new Color(224, 224, 224)); if (site == null || locationURL == null) { c.add(new JLabel("ERROR: did not recieve needed data from page")); } myAction = new MyAction(); myKeyListener = new MyKeyListener(); myMouseListener = new MyMouseListener(); myHyperlinkListener = new MyHyperlinkListener(); c.setLayout(null); cboChannels = new JComboBox(); cboChannels.setBounds(5, 5, 150, 24); butChannel = new JButton("Join"); butChannel.setToolTipText("Join channel"); butChannel.addActionListener(myAction); butChannel.setBounds(160, 5, 60, 24); butCreate = new JButton("Create"); butCreate.setToolTipText("Create new channel"); butCreate.addActionListener(myAction); butCreate.setBounds(230, 5, 100, 24); butCreate.setEnabled(false); butInvite = new JButton("Invite"); butInvite.setToolTipText("Invite Friend"); butInvite.addActionListener(myAction); butInvite.setBounds(340, 5, 80, 24); mainChat = new ChatPane(this); textScroller = new JScrollPane( mainChat, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); textScroller.setBounds(5, 34, 500, 270); userList = new JList(); userList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); userList.setCellRenderer(new MyCellRenderer()); userList.setBackground(new Color(249, 249, 250)); JScrollPane userScroller = new JScrollPane(userList); userScroller.setBounds(510, 34, 100, 297); messageText = new JTextField(); messageText.setBounds(5, 309, 500, 22); messageText.setColumns(10); messageText.setBackground(new Color(249, 249, 250)); JMenuItem item; popup = new JPopupMenu("test"); popup.add("whisper").addActionListener(myAction); popup.add("private message").addActionListener(myAction); popup.add("ignore").addActionListener(myAction); popup.add("clear ignore list").addActionListener(myAction); conNo = new ImageIcon(getURL("images/connect_no.gif")); conYes = new ImageIcon(getURL("images/connect_established.gif")); secNo = new ImageIcon(getURL("images/decrypted.gif")); secYes = new ImageIcon(getURL("images/encrypted.gif")); conIcon = new JLabel(conNo); conIcon.setBorder(new EtchedBorder()); secIcon = new JLabel(secNo); secIcon.setBorder(new EtchedBorder()); conIcon.setBounds(563, 334, 22, 22); secIcon.setBounds(588, 334, 22, 22); bottomText = new JLabel( "<html><body><font color=#445577><b>" + "LlamaChat " + VERSION + "</b></font> © " + "<a href=\"" + linkURL + "\">Joseph Monti</a> 2002-2003" + "</body></html>"); bottomText.setBounds(5, 336, 500, 20); c.add(cboChannels); c.add(butChannel); c.add(butCreate); c.add(butInvite); c.add(textScroller); c.add(userScroller); c.add(messageText); c.add(conIcon); c.add(secIcon); c.add(bottomText); userList.addMouseListener(myMouseListener); messageText.addKeyListener(myKeyListener); bottomText.addMouseListener(myMouseListener); users = new ArrayList(); ignores = new ArrayList(5); afks = new ArrayList(5); admins = new ArrayList(5); history = new CommandHistory(10); admin = false; channels = new Hashtable(); privates = new PrivateMsg(this); showUserStatus = false; myColors[0] = new Color(200, 0, 0); myColors[1] = new Color(0, 150, 0); myColors[2] = new Color(0, 0, 200); rect = new Rectangle(0, 0, 1, 1); String opening = "<font color=#333333>" + "==================================<br>" + "Welcome to LlamaChat " + VERSION + "<br>" + "If you need assistance, type \\help<br>" + "Enjoy your stay!<br>" + "Maestria Aplicada en Redes<br>" + "==================================<br></font>"; HTMLDocument doc = (HTMLDocument) mainChat.getDocument(); HTMLEditorKit kit = (HTMLEditorKit) mainChat.getEditorKit(); try { kit.insertHTML(doc, doc.getLength(), opening, 0, 0, HTML.Tag.FONT); } catch (Throwable t) { t.printStackTrace(System.out); } // validate the name if (!username.matches("[\\w_-]+?")) { error( "username contains invalid characters, changing to " + "'invalid' for now. " + "Type \\rename to chose a new name"); username = "******"; } if (username.length() > 10) { username = username.substring(0, 10); error("username too long, changed to " + username); } connect(); }