专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » 知道不知道:小弟最近从网站WebSite上下了一个JICQ 可是不知道如何回事 »正文

知道不知道:小弟最近从网站WebSite上下了一个JICQ 可是不知道如何回事

来源: 发布时间:星期三, 2008年12月17日 浏览:2次 评论:0
小弟最近从网站WebSite上下了个JICQ 可是不知道如何回事编译时没有问题!!就是运行不了!! 请各位高手指教!!! 谢谢!!!!!!!!!!!!!!! 分New.java Server.java MainWin.java Register.java 1.//New.java如下 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.net.*; import java.io.*; public New extends JFrame {//登录窗口类 JPanel contentPane; //***************** String server;//服务器名 serport;//端口 private Socket ; private BufferedReader in;//输入输出流 private PrWriter out; //***********//界面 JPanel jPanel1 = JPanel; JLabel jLabel1 = JLabel; JLabel jLabel2 = JLabel; JTextField jicq = JTextField; JLabel jLabel3 = JLabel; JPasswordField password = JPasswordField; JPanel jPanel2 = JPanel; JButton login = JButton; JButton user = JButton; JButton quit = JButton; JLabel jLabel6 = JLabel; JTextField servername = JTextField; JLabel jLabel7 = JLabel; JTextField serverport = JTextField; public New { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit; server=servername.getText.toString.trim; serport=Integer.parseInt(serverport.getText.trim); } catch(Exception e) { e.prStackTrace; } } private void jbInit throws Exception { contentPane = (JPanel) this.getContentPane; contentPane.Layout(null); this.Resizable(false); this.Size( Dimension(344, 245)); this.Title("New JICQ"); //contentPane.add(text, null); jPanel1.Bounds( Rectangle(2, 3, 348, 110)); jPanel1.Layout(null); jLabel1.Text("请输入你信息"); jLabel1.Bounds( Rectangle(5, 7, 103, 18)); jLabel2.Text("你Jicq"); jLabel2.Bounds( Rectangle(7, 66, 58, 18)); jicq.Bounds( Rectangle(68, 65, 97, 22)); jLabel3.Text("你密码"); jLabel3.Bounds( Rectangle(173, 66, 67, 18)); password.Bounds( Rectangle(237, 63, 94, 22)); jPanel2.Bounds( Rectangle(8, 154, 347, 151)); jPanel2.Layout(null); login.Text("登录"); login.Bounds( Rectangle(5, 27, 79, 29)); login.addMouseListener( java.awt.event.MouseAdapter { public void mouseClicked(MouseEvent e) { login_mouseClicked(e); } }); user.Text("新建"); user.Bounds( Rectangle(118, 28, 79, 29)); user.addMouseListener( java.awt.event.MouseAdapter { public void mouseClicked(MouseEvent e) { user_mouseClicked(e); } }); quit.Text("退出"); quit.Bounds( Rectangle(228, 26, 79, 29)); quit.addMouseListener( java.awt.event.MouseAdapter { public void mouseClicked(MouseEvent e) { quit_mouseClicked(e); } }); jLabel6.Text("服务器"); jLabel6.Bounds( Rectangle(20, 132, 41, 18)); servername.Text("hg"); servername.Bounds( Rectangle(73, 135, 102, 22)); jLabel7.Text("端口"); jLabel7.Bounds( Rectangle(191, 137, 41, 18)); serverport.Text("8080"); serverport.Bounds( Rectangle(241, 131, 90, 30)); contentPane.add(jPanel1, null); jPanel1.add(jLabel1, null); jPanel1.add(jLabel2, null); jPanel1.add(jicq, null); jPanel1.add(jLabel3, null); jPanel1.add(password, null); contentPane.add(jPanel2, null); jPanel2.add(login, null); jPanel2.add(quit, null); jPanel2.add(user, null); contentPane.add(jLabel6, null); contentPane.add(servername, null); contentPane.add(jLabel7, null); contentPane.add(serverport, null); } protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); (e.getID WindowEvent.WINDOW_CLOSING) { .exit(0); } } public void (String args) {//主 New f= New; f.Visible(true); } void login_mouseClicked(MouseEvent e) {//登录按扭 try{Socket = Socket(InetAddress.getByName(server),serport);//连接服务器 BufferedReader in= BufferedReader( InputStreamReader(.getInputStream)); PrWriter out= PrWriter( BufferedWriter( OutputStreamWriter(.getOutputStream)),true); out.prln("login");//告诉服务器我要登录 out.prln(jicq.getText); out.prln(password.getPassword); String str=" "; //do{ str=in.readLine.trim;//从服务器读取消息 //如果失败就告诉出错 (str.equals("false")) JOptionPane.showMessageDialog(this,"对不起出错了:-(","ok",JOptionPane.INFORMATION_MESSAGE); {//如果成功就打开主 this.dispose; g=Integer.parseInt(jicq.getText); MainWin f2= MainWin(g,server,serport); f2.Visible(true); } //.out.prln("\n"); //}while(!str.equals("ok")); }catch(IOException e1){} } void user_mouseClicked(MouseEvent e) {//新建用户按纽 this.dispose; JDialog d= Register(server,serport);//打开新建窗口 d.pack; d.LocationRelativeTo(this); d.Size(400,400); d.show; } void quit_mouseClicked(MouseEvent e) {//关闭按扭 this.dispose; .exit(0); } } 2.//Register.java如下 import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.net.*; import java.io.*; import javax.swing.border.*; public Register extends JDialog {//新建用户类 //以下创建界面 JPanel panel1 = JPanel; JLabel jLabel1 = JLabel; JTextField nickname = JTextField; JLabel jLabel2 = JLabel; JLabel jLabel3 = JLabel; JPasswordField password = JPasswordField; JLabel jLabel4 = JLabel; JTextField email = JTextField; JLabel jLabel5 = JLabel; JLabel jLabel6 = JLabel; JTextPane info = JTextPane; JButton jButton1 = JButton; JButton jButton2 = JButton; JLabel jLabel7 = JLabel; JRadioButton boy = JRadioButton; JRadioButton girl = JRadioButton; JLabel jLabel8 = JLabel; JComboBox place = JComboBox; JComboBox headpic = JComboBox; //*************************** private String pics = String {//头像 "1.jpg", "3.jpg", "5.jpg", "7.jpg"}; String sername;//服务器名 serverport;//服务器端口 public Register(String s, port) {//构造 sername=s; serverport=port; try { jbInit;//创建窗口 pack; } catch(Exception ex) { ex.prStackTrace;} //this(null, "", true); } void jbInit throws Exception {//创建窗口 panel1.Layout(null); this.getContentPane.Layout(null); panel1.MaximumSize( Dimension(200, 200)); panel1.MinimumSize( Dimension(200, 100)); panel1.Bounds( Rectangle(-2, 0, 419, 452)); this.Title("register"); jLabel1.Text("昵称"); jLabel1.Bounds( Rectangle(9, 45, 41, 18)); nickname.Bounds( Rectangle(50, 44, 128, 22)); jLabel2.Text("请填写以下内容"); jLabel2.Bounds( Rectangle(9, 9, 103, 18)); jLabel3.Text("密码"); jLabel3.Bounds( Rectangle(200, 44, 41, 18)); password.Bounds( Rectangle(247, 42, 100, 22)); jLabel4.Text("电子邮件"); jLabel4.Bounds( Rectangle(2, 102, 58, 18)); email.Bounds( Rectangle(55, 96, 124, 22)); jLabel5.Text("头像"); jLabel5.Bounds( Rectangle(193, 96, 51, 18)); //*************** ComboBoxModel model = HeadPicCombobox(pics); ListCellRenderer renderer = HeadpicCellRenderer; jLabel6.Text("个人资料"); jLabel6.Bounds( Rectangle(6, 189, 87, 18)); info.Bounds( Rectangle(5, 208, 363, 103)); jButton1.Text("确定"); jButton1.Bounds( Rectangle(147, 330, 79, 29)); jButton1.addMouseListener( java.awt.event.MouseAdapter { public void mouseClicked(MouseEvent e) { jButton1_mouseClicked(e); } }); jButton2.Text("取消"); jButton2.Bounds( Rectangle(260, 329, 79, 29)); jLabel7.Text("性别"); jLabel7.Bounds( Rectangle(9, 156, 41, 18)); boy.Text("男"); boy.Bounds( Rectangle(43, 152, 38, 26)); girl.Text("女"); girl.Bounds( Rectangle(80, 152, 36, 26)); jLabel8.Text("来自"); jLabel8.Bounds( Rectangle(147, 154, 41, 18)); place.ToolTipText(""); place.addItem(" 4川"); place.addItem("重庆"); place.Bounds( Rectangle(181, 153, 163, 22)); headpic.Bounds( Rectangle(249, 91, 71, 28)); headpic.Model(model); headpic.Renderer(renderer); this.getContentPane.add(jButton1, null); this.getContentPane.add(panel1, 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, null); 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{ .out.prln(sername); .out.prln(serverport); Socket = Socket(InetAddress.getByName(sername),serverport);//连接服务器 BufferedReader in= BufferedReader( InputStreamReader(.getInputStream)); PrWriter out= PrWriter( BufferedWriter( OutputStreamWriter(.getOutputStream)),true); out.prln("");//发送新建用户请求 out.prln(nickname.getText.trim);//发送呢称等信息 out.prln(password.getPassword); out.prln(email.getText.trim); out.prln(info.getText.trim); out.prln(place.getSelectedItem); out.prln(headpic.getSelectedIndex);//head picindex no; no=Integer.parseInt(in.readLine); .out.pr(no); String str=" "; //do{ str=in.readLine.trim;//从服务器读取信息 //如果出错 (str.equals("false")) JOptionPane.showMessageDialog(this,"对不起出错了:-(","ok",JOptionPane.INFORMATION_MESSAGE); {//如果成功就告诉用户其号码 JOptionPane.showMessageDialog(this,"your javaicq#is"+no,"ok",JOptionPane.INFORMATION_MESSAGE); this.dispose;//并打开主窗口 MainWin f2= MainWin(no,sername,serverport); f2.Visible(true);} //.out.prln("\n"); //}while(!str.equals("ok")); // .close; }catch(IOException e1){} } } HeadPicCombobox extends DefaultComboBoxModel {//头象列表类 public HeadPicCombobox(String pics) { for( i=0; i < pics.length; i) { addElement( Object { ImageIcon(pics[i]) } ); } } public Icon getIcon(Object object) { Object .gif' /> = (Object)object; (Icon).gif' />[0]; } } HeadpicCellRenderer extends JLabel implements ListCellRenderer { private Border lineBorder = BorderFactory.createLineBorder(Color.red, 2), emptyBorder = BorderFactory.createEmptyBorder(2,2,2,2); public HeadpicCellRenderer { Opaque(true); } public Component getListCellRendererComponent(JList list,Object value, index,boolean isSelected,boolean cellHasFocus) { HeadPicCombobox model =(HeadPicCombobox)list.getModel; Icon(model.getIcon(value)); (isSelected) { Foreground(list.getSelectionForeground); Background(list.getSelectionBackground); } { Foreground(list.getForeground); Background(list.getBackground); } (cellHasFocus) Border(lineBorder); Border(emptyBorder); this; } } 3.//MainWin.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.*; FindFriend2 extends JFrame {//查找好友类 JLabel jLabel1 = JLabel; JButton find2 = JButton; JButton jButton1 = JButton; JButton jButton2 = JButton; JButton jButton3 = JButton; JList list2; ///////////////////以下是好友呢称性别等信息 Vector nickname= Vector; Vector sex= Vector; Vector place= Vector; Vector jicq= Vector; Vector ip= Vector; Vector pic= Vector; Vector status= Vector; Vector emails= Vector; Vector infos= Vector; //以下临时保存好友呢称性别等信息 Vector tmpjicq= Vector;//jicqid Vector tmpname= Vector;//jicqname Vector tmpip= Vector;//ip Vector tmppic= Vector;//pic info Vector tmpstatus= Vector;//status Vector tmpemail= Vector; Vector tmpinfo= Vector; //以下创建网络相关变量 Socket ; BufferedReader in; PrWriter out; myid; String serverhost; servport; DatagramPacket sendPacket; DatagramSocket sendSocket; sendPort=5000; ////////////////// JPopupMenu findmenu = JPopupMenu; JMenuItem look = JMenuItem; JMenuItem add = JMenuItem; public FindFriend2( whoami,String host, port) {//查找好友类构造 enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { serverhost=host; servport=port; myid=whoami; jbInit; } catch(Exception e) { e.prStackTrace; }//以下和服务器连接 try{= Socket(InetAddress.getByName(serverhost),servport); in= BufferedReader( InputStreamReader(.getInputStream)); out= PrWriter( BufferedWriter( OutputStreamWriter(.getOutputStream)),true); sendSocket= DatagramSocket; }catch(IOException e1){} } private void jbInit throws Exception {//以下是界面 jLabel1.Text("下面是在线朋友"); jLabel1.Bounds( Rectangle(11, 11, 211, 18)); this.getContentPane.Layout( FlowLayout); find2.Text("查找"); find2.Bounds( Rectangle(8, 289, 79, 29)); find2.addMouseListener( java.awt.event.MouseAdapter { public void mouseClicked(MouseEvent e) { find2_mouseClicked(e); } }); jButton1.Text("next"); jButton1.Bounds( Rectangle(110, 288, 79, 29)); jButton2.Text("up"); jButton2.Bounds( Rectangle(211, 285, 79, 29)); jButton3.Text("cancel"); jButton3.Bounds( Rectangle(317, 289, 79, 29)); // nickname= Vector; // sex= Vector; // place= Vector; ListModel model= FindListModel(nickname,sex,place);//列表模型 ListCellRenderer renderer= FindListCellRenderer; list2= JList(model); list2.Size(200,200); list2.Background( Color(255, 255, 210)); list2.AlignmentX((float) 1.0); list2.AlignmentY((float) 1.0); list2.CellRenderer(renderer); list2.VisibleRowCount(7); list2.addMouseListener( java.awt.event.MouseAdapter { public void mousePressed(MouseEvent e) { list2_mousePressed(e); } }); look.Text("查看资料"); add.Text("加为好友"); add.addMouseListener( java.awt.event.MouseAdapter { public void mousePressed(MouseEvent e) { add_mousePressed(e); } }); this.getContentPane.add(jLabel1, null); this.getContentPane.add( JScrollPane(list2)); this.getContentPane.add(find2, null); this.getContentPane.add(jButton1, null); this.getContentPane.add(jButton2, null); this.getContentPane.add(jButton3, null); findmenu.add(look); findmenu.add(add); }//以下是关闭本窗口 protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); (e.getID WindowEvent.WINDOW_CLOSING) { //this.dispose; this.hide; } } //以下向服务器发送查找好友请求 void find2_mouseClicked(MouseEvent e) { out.prln("find"); DefaultListModel mm=(DefaultListModel)list2.getModel; /////////////////find friend info try{ String s=" "; //从服务器读取好友信息 do{ s=in.readLine; (s.equals("over")) ; nickname.add(s); sex.add(in.readLine); place.add(in.readLine); ip.add(in.readLine); emails.add(in.readLine); infos.add(in.readLine); }while(!s.equals("over")); /////////////end find info //read their jicqno theirjicq,picinfo,sta; for( x=0;x;x){ theirjicq=Integer.parseInt(in.readLine); //.out.prln(theirjicq); jicq.add( Integer(theirjicq)); picinfo=Integer.parseInt(in.readLine); pic.add( Integer(picinfo)); sta=Integer.parseInt(in.readLine); //.out.prln(sta); status.add( Integer(sta)); //.out.prln(jicq.get(x)); } //在列表中显示 for( i=0;i;i){ mm.addElement( Object{nickname.get(i),sex.get(i),place.get(i)}); }//for }catch(IOException e4){.out.prln("false");} } //显示查找好友菜单 void list2_mousePressed(MouseEvent e) { findmenu.show(this,e.getX+20,e.getY+50); } /////////////add frined //以下将添加好友存储在临时矢量 void add_mousePressed(MouseEvent e) { //add friend to database dd; dd=list2.getSelectedIndex; tmpjicq.add(jicq.get(dd)); tmpname.add(nickname.get(dd)); tmpip.add(ip.get(dd)); tmppic.add(pic.get(dd)); tmpstatus.add(status.get(dd)); tmpemail.add(emails.get(dd)); tmpinfo.add(infos.get(dd)); //以下向服务器发送添加好友请求 out.prln("addfriend"); out.prln(jicq.get(dd)); out.prln(myid); try{ //以下告诉客户将其加为好友 String whoips; String s="oneaddyou"+myid; s.trim; .out.prln(s); data=s.getBytes; whoips=ip.get(dd).toString.trim; sendPacket= DatagramPacket(data,s.length,InetAddress.getByName(whoips),sendPort); sendSocket.send(sendPacket); } catch(IOException e2){e2.prStackTrace;} //}catch(IOException df){}; } /////////////add friend end } //以下扩展DefaultListModel类建立列表 FindListModel extends DefaultListModel { public FindListModel(Vector nickname,Vector sex,Vector place) { for( i=0;i;i){ addElement( Object{nickname.get(i),sex.get(i),place.get(i)}); } } public String getName(Object object) { Object .gif' />=(Object)object; (String) .gif' />[0]; } public String getSex(Object object) { Object .gif' />=(Object) object; (String) .gif' />[1]; } public String getPlace(Object object) { Object .gif' />=(Object)object; (String) .gif' />[2]; } } FindListCellRenderer extends JLabel implements ListCellRenderer//以下是处理列表渲染 { private Border lineBorder=BorderFactory.createLineBorder(Color.red,2), emptyBorder =BorderFactory.createEmptyBorder(2,2,2,2); public FindListCellRenderer{ Opaque(true); } public Component getListCellRendererComponent(JList list,Object value, index, boolean isSelected,boolean cellHasFocus) { FindListModel model=(FindListModel) list.getModel; Text(model.getName(value)+" "+model.getSex(value)+" "+model.getPlace(value)); (isSelected){Foreground(list.getSelectionForeground); Background(list.getSelectionBackground); } { Foreground(list.getForeground); Background(list.getBackground);} (cellHasFocus) Border(lineBorder); Border(emptyBorder); this; } } //以下是主 public MainWin extends JFrame implements Runnable{ JPanel contentPane; ///////////////////////////friendinfo //以下是好友基本信息变量比如呢称ip地址等 Vector friendnames= Vector; friendnum;//friend number private String picsonline= String { "1.jpg","3.jpg","5.jpg","7.jpg"}; private String picsoffline= String{ "2.jpg","4.jpg", "6.jpg","8.jpg"}; Vector friendjicq= Vector; Vector udpport= Vector; Vector friendips= Vector; Vector friendemail= Vector; Vector friendinfo= Vector; Vector picno= Vector; Vector status= Vector; // Vector pic= Vector; //以下是临时变量保存临时好友 Vector tempname= Vector; Vector tempjicq= Vector; Vector tempip= Vector; Vector temppic= Vector; Vector tempstatus= Vector; Vector whoaddmesip= Vector;//get whoaddme as friend Vector tempemail= Vector; Vector tempinfo= Vector; index;//get list index index3;//get firiend _disibledevent=Integer.parseInt(in.readLine);
标签:知道不知道

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: