?? qqchatframe.java
字號:
package NewQQ;import java.awt.*;import java.awt.event.*;import java.io.*;import java.net.Socket;import java.util.HashMap;import javax.swing.*;public class QQChatFrame { JFrame jframe; JPanel jp; TextArea jta; JTextField jtf; JComboBox jcb; String name; ObjectOutputStream sendmsg; Socket clientsocket; HashMap friends; public QQChatFrame(String name,ObjectOutputStream sendmsg,HashMap friends,Socket clientsocket){ this.name = name; this.sendmsg = sendmsg; this.friends = friends; } public void creat(){ class QQClientWindowListener extends WindowAdapter{ public void windowClosing(WindowEvent e){ //向服務器發出退出請求 try { QQMessage ffsendmessage = new QQMessage(); ffsendmessage.setType(6); ffsendmessage.setSender(name); sendmsg.writeObject(ffsendmessage); sendmsg.flush(); } catch (IOException e1) {} jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class QQClientActionListener implements ActionListener{ public void actionPerformed(ActionEvent e) { Object com = e.getSource(); if(com instanceof JComboBox){ JComboBox tempjcb = (JComboBox)com; String recver = (String)tempjcb.getSelectedItem(); tempjcb.setSelectedIndex(0); if(!recver.equals("所有人")){ SingleFrame sf = (SingleFrame)friends.get(recver); if(sf==null){ sf = new SingleFrame(recver,sendmsg,friends,name); sf.init(); friends.put(recver,sf); sf.jframe.toFront(); } } } else{ QQMessage sendmessage = new QQMessage(); sendmessage.setType(3); sendmessage.setSender(name); sendmessage.setMessage(jtf.getText()); try { sendmsg.writeObject(sendmessage); sendmsg.flush(); } catch (IOException e1) {} jtf.setText(""); } } } jframe = new JFrame(name); jframe.setSize(400,300); jta = new TextArea(); jta.setEditable(false); jta.setFocusable(false); jp = new JPanel(new FlowLayout()); jtf = new JTextField(15); jcb = new JComboBox(); jp.add(jcb); jp.add(jtf); jcb.addItem("所有人"); jframe.add(jta); jframe.add(jp,BorderLayout.SOUTH); jframe.addWindowListener(new QQClientWindowListener()); QQClientActionListener qqclientlistener = new QQClientActionListener(); jtf.addActionListener(qqclientlistener); jcb.addActionListener(qqclientlistener); jframe.setVisible(true); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -