




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、運行時,用戶登錄端:import java.awt.*;import java.awt.event.*;import javax.swing.*;import .*;import java.io.*;public class New extends JFrame /登錄窗口類 JPanel contentPane;/* String server;/服務器名 int serport;/端口 private Socket socket;private BufferedReader in;/輸入輸出流private PrintWriter out;/*/程序界面 JPanel jP
2、anel1 = new JPanel(); JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); JTextField jicq = new JTextField(); JLabel jLabel3 = new JLabel(); JPasswordField password = new JPasswordField(); JPanel jPanel2 = new JPanel(); JButton login = new JButton(); JButton newuser = new JButton(); JButto
3、n quit = new JButton(); JLabel jLabel6 = new JLabel(); JTextField servername = new JTextField(); JLabel jLabel7 = new JLabel(); JTextField serverport = new JTextField(); public New() enableEvents(AWTEvent.WINDOW_EVENT_MASK); try jbInit(); server=servername.getText().toString().trim(); serport=Intege
4、r.parseInt(serverport.getText().trim(); catch(Exception e) e.printStackTrace(); private void jbInit() throws Exception contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(null); this.setResizable(false); this.setSize(new Dimension(344, 245); this.setTitle(New JICQ); /contentPane.add(
5、text, null); jPanel1.setBounds(new Rectangle(2, 3, 348, 110); jPanel1.setLayout(null); jLabel1.setText(請輸入你的信息(本系統由江西師大軟件工程2班王沖海開發)歡迎使用!); jLabel1.setBounds(new Rectangle(5, 7, 403, 8); jLabel2.setText(你的QQ:); jLabel2.setBounds(new Rectangle(7, 66, 58, 18); jicq.setBounds(new Rectangle(68, 65, 97, 2
6、2); jLabel3.setText(你的密碼:); jLabel3.setBounds(new Rectangle(173, 66, 67, 18); password.setBounds(new Rectangle(237, 63, 94, 22); jPanel2.setBounds(new Rectangle(8, 154, 347, 151); jPanel2.setLayout(null); login.setText(登錄); login.setBounds(new Rectangle(5, 27, 79, 29); login.addMouseListener(new jav
7、a.awt.event.MouseAdapter() public void mouseClicked(MouseEvent e) login_mouseClicked(e); ); newuser.setText(注冊); newuser.setBounds(new Rectangle(118, 28, 79, 29); newuser.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(MouseEvent e) newuser_mouseClicked(e); ); quit.setTex
8、t(退出); quit.setBounds(new Rectangle(228, 26, 79, 29); quit.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(MouseEvent e) quit_mouseClicked(e); ); jLabel6.setText(服務器); jLabel6.setBounds(new Rectangle(20XX132, 41, 18); servername.setText(Wchonghai); servername.setBounds(ne
9、w Rectangle(73, 135, 102, 22); jLabel7.setText(端口); jLabel7.setBounds(new Rectangle(191, 137, 41, 18); serverport.setText(8080); serverport.setBounds(new Rectangle(241, 131, 90, 30); contentPane.add(jPanel1, null); jPanel1.add(jLabel1, null); jPanel1.add(jLabel2, null); jPanel1.add(jicq, null); jPan
10、el1.add(jLabel3, null); jPanel1.add(password, null); contentPane.add(jPanel2, null); jPanel2.add(login, null); jPanel2.add(quit, null); jPanel2.add(newuser, null); contentPane.add(jLabel6, null); contentPane.add(servername, null); contentPane.add(jLabel7, null); contentPane.add(serverport, null); pr
11、otected void processWindowEvent(WindowEvent e) cessWindowEvent(e); if (e.getID() = WindowEvent.WINDOW_CLOSING) System.exit(0); public static void main(String args) /主程序 New f=new New(); f.setVisible(true); void login_mouseClicked(MouseEvent e) /登錄按扭 trySocket socket=new Socket(InetAddress.g
12、etByName(server),serport);/連接服務器 BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream(); PrintWriter out=new PrintWriter(new BufferedWriter( new OutputStreamWriter(socket.getOutputStream(),true);out.println(login);/告訴服務器我要登錄out.println(jicq.getText();out.println(password.
13、getPassword(); String str= ; /do str=in.readLine().trim();/從服務器讀取消息 /如果失敗就告訴出錯 if(str.equals(false) JOptionPane.showMessageDialog(this,對不起,出錯了:-(,ok,JOptionPane.INFORMATION_MESSAGE); else/如果成功就打開主程序 this.dispose(); int g=Integer.parseInt(jicq.getText(); MainWin f2=new MainWin(g,server,serport); f2.s
14、etVisible(true); /System.out.println(n); /while(!str.equals(ok); catch(IOException e1) void newuser_mouseClicked(MouseEvent e) /新建用戶按紐 this.dispose();JDialog d=new Register(server,serport);/打開新建窗口d.pack();d.setLocationRelativeTo(this);d.setSize(400,400);d.show(); void quit_mouseClicked(MouseEvent e)
15、 /關閉按扭this.dispose(); System.exit(0); 用戶注冊界面:import java.awt.*;import javax.swing.*;import java.awt.event.*;import .*;import java.io.*;import javax.swing.border.*;public class Register extends JDialog /新建用戶類/以下創建程序界面 JPanel panel1 = new JPanel(); JLabel jLabel1 = new JLabel(); JTextField nic
16、kname = new JTextField(); JLabel jLabel2 = new JLabel(); JLabel jLabel3 = new JLabel(); JPasswordField password = new JPasswordField(); JLabel jLabel4 = new JLabel(); JTextField email = new JTextField(); JLabel jLabel5 = new JLabel(); JLabel jLabel6 = new JLabel(); JTextPane info = new JTextPane();
17、JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); JLabel jLabel7 = new JLabel(); JRadioButton boy = new JRadioButton(); JRadioButton girl = new JRadioButton(); JLabel jLabel8 = new JLabel(); JComboBox place = new JComboBox(); JComboBox headpic = new JComboBox();/* private String pi
18、cs = new String /頭像1.jpg, 3.jpg,5.jpg, 7.jpg;String sername;/服務器名int serverport;/服務器端口 public Register(String s,int port) /構造函數 sername=s; serverport=port; try jbInit();/創建窗口 pack(); catch(Exception ex) ex.printStackTrace(); /this(null, , true); void jbInit() throws Exception /創建窗口 panel1.setLayout(
19、null); this.getContentPane().setLayout(null); panel1.setMaximumSize(new Dimension(20XX 20XX); panel1.setMinimumSize(new Dimension(20XX 100); panel1.setBounds(new Rectangle(-2, 0, 419, 452); this.setTitle(register); jLabel1.setText(昵稱); jLabel1.setBounds(new Rectangle(9, 45, 41, 18); nickname.setBoun
20、ds(new Rectangle(50, 44, 128, 22); jLabel2.setText(請填寫以下內容); jLabel2.setBounds(new Rectangle(9, 9, 103, 18); jLabel3.setText(密碼); jLabel3.setBounds(new Rectangle(20XX 44, 41, 18); password.setBounds(new Rectangle(247, 42, 100, 22); jLabel4.setText(電子郵件); jLabel4.setBounds(new Rectangle(2, 102, 58, 1
21、8); email.setBounds(new Rectangle(55, 96, 124, 22); jLabel5.setText(頭像); jLabel5.setBounds(new Rectangle(193, 96, 51, 18); /* ComboBoxModel model = new HeadPicCombobox(pics); ListCellRenderer renderer = new HeadpicCellRenderer(); jLabel6.setText(個人資料); jLabel6.setBounds(new Rectangle(6, 189, 87, 18)
22、; info.setBounds(new Rectangle(5, 20XX 363, 103); jButton1.setText(確定); jButton1.setBounds(new Rectangle(147, 330, 79, 29); jButton1.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(MouseEvent e) jButton1_mouseClicked(e); ); jButton2.setText(取消); jButton2.setBounds(new Rec
23、tangle(260, 329, 79, 29); jLabel7.setText(性別); jLabel7.setBounds(new Rectangle(9, 156, 41, 18); boy.setText(男); boy.setBounds(new Rectangle(43, 152, 38, 26); girl.setText(女); girl.setBounds(new Rectangle(80, 152, 56, 26); jLabel8.setText(來自); jLabel8.setBounds(new Rectangle(147, 154, 41, 18); place.
24、setToolTipText(); place.addItem(江西師大軟件學院); place.addItem(軟件工程2班王沖海); place.setBounds(new Rectangle(181, 153, 163, 22); headpic.setBounds(new Rectangle(249, 91, 71, 28); headpic.setModel(model); headpic.setRenderer(renderer); this.getContentPane().add(jButton1, null); this.getContentPane().add(panel1
25、, null); panel1.add(jLabel2, null); panel1.add(jLabel1, null); panel1.add(nickname, null); panel1.add(jLabel3, null); panel1.add(password, null); panel1.add(jLabel4, null); panel1.add(email, null); panel1.add(jLabel5, null); panel1.add(info, null); panel1.add(jButton2, null); panel1.add(jLabel6, nul
26、l); panel1.add(jLabel7, null); panel1.add(boy, null); panel1.add(jLabel8, null); panel1.add(girl, null); panel1.add(place, null); panel1.add(headpic, null); void jButton1_mouseClicked(MouseEvent e) try System.out.println(sername); System.out.println(serverport); Socket socket=new Socket(InetAddress.
27、getByName(sername),serverport);/連接服務器 BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream(); PrintWriter out=new PrintWriter(new BufferedWriter( new OutputStreamWriter(socket.getOutputStream(),true);out.println(new);/發送新建用戶請求out.println(nickname.getText().trim();/發送呢稱等信息
28、out.println(password.getPassword();out.println(email.getText().trim();out.println(info.getText().trim();out.println(place.getSelectedItem();out.println(headpic.getSelectedIndex();/head picindexint no;no=Integer.parseInt(in.readLine();System.out.print(no); String str= ; /do str=in.readLine().trim();/
29、從服務器讀取信息 /如果出錯 if(str.equals(false) JOptionPane.showMessageDialog(this,對不起,出錯了:-(,ok,JOptionPane.INFORMATION_MESSAGE); else/如果成功就告訴用戶其號碼 JOptionPane.showMessageDialog(this,your javaicq#is+no,ok,JOptionPane.INFORMATION_MESSAGE); this.dispose();/并打開主窗口 MainWin f2=new MainWin(no,sername,serverport); f2
30、.setVisible(true); /System.out.println(n); /while(!str.equals(ok); / socket.close(); catch(IOException e1) class HeadPicCombobox extends DefaultComboBoxModel /頭象列表類public HeadPicCombobox(String pics) for(int i=0; i pics.length; +i) addElement(new Object new ImageIcon(picsi) );public Icon getIcon(Obj
31、ect object) Object array = (Object)object;return (Icon)array0;class HeadpicCellRenderer extends JLabel implements ListCellRenderer private BorderlineBorder = BorderFactory.createLineBorder(Color.red, 2),emptyBorder = BorderFactory.createEmptyBorder(2,2,2,2);public HeadpicCellRenderer() setOpaque(tru
32、e);public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus) HeadPicCombobox model =(HeadPicCombobox)list.getModel();setIcon(model.getIcon(value);if(isSelected) setForeground(list.getSelectionForeground();setBackground(list.getSelectionB
33、ackground();else setForeground(list.getForeground();setBackground(list.getBackground();if(cellHasFocus) setBorder(lineBorder);else setBorder(emptyBorder);return this;主界面運行端:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.util.Vector;import java.
34、net.*;import java.io.*; class FindFriend2 extends JFrame /查找好友類 JLabel jLabel1 = new JLabel(); JButton find2 = new JButton(); JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); JButton jButton3 = new JButton(); JList list2;/以下是好友的呢稱,性別等信息 Vector nickname=new Vector(); Vector sex=new
35、 Vector(); Vector place=new Vector(); Vector jicq=new Vector(); Vector ip=new Vector(); Vector pic=new Vector(); Vector status=new Vector(); Vector emails=new Vector(); Vector infos=new Vector();/以下臨時保存好友的呢稱,性別等信息 Vector tmpjicq=new Vector();/jicqid Vector tmpname=new Vector();/jicqname Vector tmpip
36、=new Vector();/ip Vector tmppic=new Vector();/pic info Vector tmpstatus=new Vector();/status Vector tmpemail=new Vector(); Vector tmpinfo=new Vector();/以下創建網絡相關變量 Socket socket; BufferedReader in; PrintWriter out; int myid; String serverhost; int servport; DatagramPacket sendPacket; DatagramSocket s
37、endSocket; int sendPort=5000;/ JPopupMenu findmenu = new JPopupMenu(); JMenuItem look = new JMenuItem(); JMenuItem add = new JMenuItem(); public FindFriend2(int whoami,String host,int port) /查找好友類構造函數 enableEvents(AWTEvent.WINDOW_EVENT_MASK); try serverhost=host; servport=port; myid=whoami; jbInit()
38、; catch(Exception e) e.printStackTrace(); /以下與服務器連接 trysocket=new Socket(InetAddress.getByName(serverhost),servport); in=new BufferedReader(new InputStreamReader(socket.getInputStream(); out=new PrintWriter(new BufferedWriter( new OutputStreamWriter(socket.getOutputStream(),true); sendSocket=new Dat
39、agramSocket(); catch(IOException e1) private void jbInit() throws Exception /以下是程序界面 jLabel1.setText(下面是在線的朋友); jLabel1.setBounds(new Rectangle(11, 11, 211, 18); this.getContentPane().setLayout(new FlowLayout(); find2.setText(查找); find2.setBounds(new Rectangle(8, 289, 79, 29); find2.addMouseListener
40、(new java.awt.event.MouseAdapter() public void mouseClicked(MouseEvent e) find2_mouseClicked(e); ); jButton1.setText(next); jButton1.setBounds(new Rectangle(110, 288, 79, 29); jButton2.setText(up); jButton2.setBounds(new Rectangle(211, 285, 79, 29); jButton3.setText(cancel); jButton3.setBounds(new R
41、ectangle(317, 289, 79, 29); / nickname=new Vector(); / sex=new Vector(); / place=new Vector(); ListModel model=new FindListModel(nickname,sex,place);/列表模型 ListCellRenderer renderer=new FindListCellRenderer(); list2=new JList(model); list2.setSize(20XX20XX; list2.setBackground(new Color(255, 255, 210
42、); list2.setAlignmentX(float) 1.0); list2.setAlignmentY(float) 1.0); list2.setCellRenderer(renderer); list2.setVisibleRowCount(7); list2.addMouseListener(new java.awt.event.MouseAdapter() public void mousePressed(MouseEvent e) list2_mousePressed(e); ); look.setText(查看資料); add.setText(加為好友); add.addM
43、ouseListener(new java.awt.event.MouseAdapter() public void mousePressed(MouseEvent e) add_mousePressed(e); ); this.getContentPane().add(jLabel1, null); this.getContentPane().add(new JScrollPane(list2); this.getContentPane().add(find2, null); this.getContentPane().add(jButton1, null); this.getContent
44、Pane().add(jButton2, null); this.getContentPane().add(jButton3, null); findmenu.add(look); findmenu.add(add); /以下是關閉本窗口 protected void processWindowEvent(WindowEvent e) cessWindowEvent(e); if (e.getID() = WindowEvent.WINDOW_CLOSING) /this.dispose(); this.hide(); /以下向服務器發送查找好友請求 void find2_m
45、ouseClicked(MouseEvent e) out.println(find);DefaultListModel mm=(DefaultListModel)list2.getModel();/find friend infotryString s= ;/從服務器讀取好友信息do s=in.readLine(); if(s.equals(over) break; nickname.add(s); sex.add(in.readLine(); place.add(in.readLine(); ip.add(in.readLine(); emails.add(in.readLine(); i
46、nfos.add(in.readLine();while(!s.equals(over);/end find info/read their jicqnoint theirjicq,picinfo,sta;for(int x=0;xnickname.size();x+)theirjicq=Integer.parseInt(in.readLine();/System.out.println(theirjicq);jicq.add(new Integer(theirjicq);picinfo=Integer.parseInt(in.readLine();pic.add(new Integer(pi
47、cinfo);sta=Integer.parseInt(in.readLine();/System.out.println(sta);status.add(new Integer(sta);/System.out.println(jicq.get(x);/在列表中顯示for(int i=0;inickname.size();i+) mm.addElement(new Objectnickname.get(i),sex.get(i),place.get(i); /forcatch(IOException e4)System.out.println(false);/顯示查找好友菜單 void li
48、st2_mousePressed(MouseEvent e) findmenu.show(this,e.getX()+20XX.getY()+50); /add frined/以下將添加的好友存儲在臨時矢量 void add_mousePressed(MouseEvent e) /add friend to databaseint dd;dd=list2.getSelectedIndex();tmpjicq.add(jicq.get(dd);tmpname.add(nickname.get(dd);tmpip.add(ip.get(dd);tmppic.add(pic.get(dd);tmps
49、tatus.add(status.get(dd);tmpemail.add(emails.get(dd);tmpinfo.add(infos.get(dd);/以下向服務器發送添加好友請求out.println(addfriend);out.println(jicq.get(dd);out.println(myid); try /以下告訴客戶將其加為好友 String whoips; String s=oneaddyou+myid; s.trim(); System.out.println(s); byte data=s.getBytes(); whoips=ip.get(dd).toString().trim(); sendPacket=new DatagramPacket(data,s.length(),InetAddress.getByName(whoips
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐵嶺師范高等專科學校《常用醫療器械原理》2023-2024學年第一學期期末試卷
- 重慶理工大學《醫學放射生物學》2023-2024學年第一學期期末試卷
- 四川省瀘州市瀘縣第一中學2025年高三月考試題(二)物理試題試卷含解析
- 江西青年職業學院《體育概述》2023-2024學年第二學期期末試卷
- 毛坯房裝修流程圖
- 棗強中學高二下學期期末考試生物試題
- 2025年新風系統安裝施工合同
- 2025年勞動合同終止后檔案應歸何處
- 2025皮革購銷合同模板
- 2025華服廠借款合同范本
- 2025年天津市河東區中考一模英語試題(原卷版+解析版)
- 2025屆浙江省君兮協作聯盟高三下學期4月教學質量檢測英語試題(含解析)
- 注冊會計師(綜合階段)題庫完美版帶答案分析2025
- 新課標解讀丨《義務教育道德與法治課程標準(2022年版)》解讀
- 粉末冶金調機員培訓
- 2024年中國海洋大學招聘輔導員筆試真題
- 氧氣管道施工方案
- 學校結核病防治工作制度
- 2025山西地質集團招聘37人筆試參考題庫附帶答案詳解
- 【MOOC】中醫與辨證-暨南大學 中國大學慕課MOOC答案
- 畢業設計(論文)大連香港新加坡航次計劃
評論
0/150
提交評論