亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jim.java

?? 照書上做的JIM軟件,不過不知道為什么還不能運(yùn)行.要是能調(diào)出來功能絕對完善
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
import javax.swing.border.*;
import java.util.Vector;
//Jim類是客戶端的主類。主要是創(chuàng)建一個Login類的對象,用于顯示用戶登陸界面。代碼如下:
public class Jim
{
	 public static void main(String[ ] args)//主程序
	 {
	 	Login loginWin=new Login( );//創(chuàng)建一個Login類的對象
	 	loginWin.setVisible(true);//顯示用戶登錄界面
	}
}


//Login類為用戶登錄類,顯示用戶登錄界面,處理用戶登陸過程。代碼如下:
class Login extends JFrame  //登錄窗口類
{
	JPanel contentPane;
	String serverName;                                      //服務(wù)器名
	int serverPort;                                         //端口        
	JPanel jPanel1=new JPanel( );                           //面板1
	JLabel jlImNo=new JLabel( );                            //用戶JIM號標(biāo)簽
	JTextField jtfImNo=new JTextField( );                   //輸入用戶JIM號的文本框
	JLabel jlPassword=new JLabel( );                        //用戶口令標(biāo)簽
	JPasswordField jpfPassword=new JPasswordField( );       //輸入用戶口令的文本框
	JPanel jPanel2=new JPanel( );                           //面板2
	JButton jbLogin=new JButton( );                         //"登錄"按鈕
	JButton jbNewUser=new JButton( );                       //"注冊"按鈕
	JButton jbQuit=new JButton( );                          //"退出"按鈕                         
	
	public Login( )
	{
		//激活窗口事件,使界面能響應(yīng)窗口事件
		enableEvents(AWTEvent.WINDOW_EVENT_MASK);
		try
		{
			loginInit( );                                 //界面初始化 
			getServerConfig( );                           //從配置文件中獲取服務(wù)器端的配置
		}catch (Exception e){e.printStackTrace( );}
		}
		
		public void getServerConfig( )                   //從配置文件中獲取服務(wù)器端的配置
		{
			try
			{
				File fileConfig=new File("config.txt");
				BufferedReader br=new BufferedReader(new FileReader(fileConfig));
				serverName=br.readLine( ).substring(11);
				serverPort=Integer.parseInt(br.readLine( ).substring(11));
			}
			catch(Exception e1)
			{
				serverName="127.0.0.1";
				serverPort=8080;
			}
		}
		
		private void loginInit( )throws Exception             //界面初始化
		{
			contentPane=(JPanel)this.getContentPane( );
			contentPane.setLayout(null);                      //設(shè)置窗口布局為無布局管理器
			this.setResizable(false);                         //窗口不能改變大小
			this.setSize(new Dimension(350,250));             //指定窗口大小
			this.setTitle("JIM用戶登陸");                     //指定窗口標(biāo)題
			jPanel1.setBounds(new Rectangle(0,20,350,90));    //指定面板大小
			jPanel1.setLayout(null);                          //指定面板1的布局為無布局管理器
			jlImNo.setText("JIM號碼");
			//指定標(biāo)簽位置和大小
			jlImNo.setBounds(new Rectangle(40,20,60,20));
			//指定輸入用戶JIM號的文本框的位置和大小
			jtfImNo.setBounds(new Rectangle(105,19,180,22));
			jlPassword.setText("JIM密碼");
			jlPassword.setBounds(new Rectangle(40,60,60,20));
		    jpfPassword.setBounds(new Rectangle(105,59,180,22));
		    jPanel2.setBounds(new Rectangle(1,120,344,100));
		    jPanel2.setLayout(null);
		    jbLogin.setText("登錄");
		    jbLogin.setBounds(new Rectangle(5,10,60,25));
		    //為"登錄"按鈕增加鼠標(biāo)事件監(jiān)聽器
		    jbLogin.addMouseListener(new java.awt.event.MouseAdapter(){
		  	    public void mouseClicked(MouseEvent e){
		  		  jbLogin_mouseClicked(e);
		  	}
		  });
		  
		  jbQuit.setText("退出");
		  jbQuit.setBounds(new Rectangle(85,10,60,25));
		  //為退出按鈕增加鼠標(biāo)事件監(jiān)聽器
		  jbQuit.addMouseListener(new java.awt.event.MouseAdapter(){
			public void mouseClicked(MouseEvent e){
		    jbQuit_mouseClicked(e);
		}
	});
	
	jbNewUser.setText("注冊");
	jbNewUser.setBounds(new Rectangle(245,10,60,25));
	//為"注冊"按鈕增加鼠標(biāo)事件監(jiān)聽器
	jbNewUser.addMouseListener(new java.awt.event.MouseAdapter( ){
		public void mouseClicked(MouseEvent e){
			jbNewUser_mouseClicked(e);
		}
	});
	//將面板1加到窗口上
	contentPane.add(jPanel1,null);
	//將標(biāo)簽和文本框加到面板1上
	jPanel1.add(jlImNo,null);
	jPanel1.add(jtfImNo,null);
	jPanel1.add(jlPassword,null);
	jPanel1.add(jpfPassword,null);
	//將面板2加到窗口上
	contentPane.add(jPanel2,null);
	//將按鈕加到面板2上
	jPanel2.add(jbLogin,null);
	jPanel2.add(jbQuit,null);
	jPanel2.add(jbNewUser,null);
}


//以下為當(dāng)發(fā)生窗口關(guān)閉事件時的動作
protected void processWindowEvent(WindowEvent e){
	super.processWindowEvent(e);
	if(e.getID( )==WindowEvent.WINDOW_CLOSING){
		System.exit(0);               //程序退出
	}
}

//以下為當(dāng)發(fā)生"登錄"按鈕的Clicked事件將產(chǎn)生的動作
void jbLogin_mouseClicked(MouseEvent e)
{
	try
	{
		//連接服務(wù)器
		Socket socket=new Socket(InetAddress.getByName(serverName),serverPort);
		//創(chuàng)建輸入輸出流
		BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
		PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
		//向服務(wù)器發(fā)送登錄請求
		out.println("LOGIN");
		out.println(jtfImNo.getText( ));
		out.println(jpfPassword.getPassword( ));
		String str=" ",msgStr=" ";
		str=in.readLine().trim( );
		msgStr=in.readLine().trim( );
		//向服務(wù)器發(fā)出中斷通訊的消息
		out.println("END");
		//若服務(wù)器返回的消息是FALSE,將顯示出具體的錯誤內(nèi)容
		if(str.equals("FALSE"))JOptionPane.showMessageDialog(this,msgStr,"確定",JOptionPane.INFORMATION_MESSAGE);
		else{
			//若正確,則關(guān)閉通訊連接,并關(guān)閉窗口
			socket.close( );
			this.dispose( );
			//打開JIM的界面
			int g=Integer.parseInt(jtfImNo.getText( ));
			JimWin jimWin=new JimWin(g,serverName,serverPort);
			jimWin.setVisible(true);
		}
	}catch(IOException e1){}
}
	
	//以下為"注冊"按鈕發(fā)生Clicked事件時的動作
	void jbNewUser_mouseClicked(MouseEvent e)
	{
		JDialog d=new Register(serverName,serverPort);//打開注冊窗口
		d.pack();
		d.setLocationRelativeTo(this);//指定注冊窗口顯示的位置在本窗口位置
		d.setSize(400,400);           //指定注冊窗口的大小
		this.dispose();               //關(guān)閉登錄窗口
		d.show();                     //顯示注冊窗口                
	}                                 

//以下為退出按鈕發(fā)生事件時的動作
void jbQuit_mouseClicked(MouseEvent e)
{
  this.dispose();                    //關(guān)閉登錄窗口
  System.exit(0);                   //程序退出
  }
}
//Register類
//該類用于顯示用戶的注冊界面,并處理用戶的注冊請求。代碼如下:
 class Register extends JDialog         //注冊用戶類
 {            

  JPanel jpBottom = new JPanel();
  JLabel jlPrompt = new JLabel();
  JTextField jtNickName = new JTextField();
  JLabel jlNickName = new JLabel();
  JLabel jlPassword = new JLabel();
  JPasswordField jpfPassWord=new JPasswordField();
  JComboBox jcbFace=new JComboBox();
  JLabel jlSex= new JLabel();
  JComboBox jcbSex=new JComboBox();
  JLabel jlAge= new JLabel();
  JTextField jtfAge = new JTextField();
  JLabel jlPhone = new JLabel();
  JTextField jtfPhone = new JTextField();
  JTextField jtfEMail = new JTextField();
  JLabel jlEMail = new JLabel();
  JLabel jlHomePage = new JLabel();
  JTextField jtfHomePage = new JTextField();
  JLabel jlResume=new jLabel( );
  JTextPane jtpResume = new JTextPane();
  JButton jbOK= new JButton();
  JLabel jbCancel = new JButton();
  
String serverName;//服務(wù)器名
int serverPort;//服務(wù)器端口

  public Register(String  s,int port) //構(gòu)造函數(shù)
  {

   serverName=s;
   serverPort=port;
   enableEvents(AWTEvent.WINDOW_EVENT_MASK);
     try
      {
      	          
      registerInit();//創(chuàng)建窗口
      pack();
      this.setResizable(false);
    }
    catch(Exception ex) 
    {
      ex.printStackTrace();
      }
  }
  
  void registerInit() throws Exception   //初始化創(chuàng)建窗口
  {
  	String[ ] pics;                      //存放頭像的圖像文件名
  	
  	//以下為通過設(shè)置文件過濾器,用于查找圖像文件
  	FilenameFilter fileFilter=new FilenameFilter(){
  		public boolean accept(File dir,String name){
  			if(name.endsWith("_1.JPG")||name.endsWith("_1.jpg")){
  				return true;
  			}
  			return false;
  			}
  		};
  		
  		File dir=new File("face");   //圖像文件存放在face目錄下
  		pics=dir.list(fileFilter);
  		
  		jpBottom.setLayout(null);
  		this.getContentPane().setLayout(null);
  		jpBottom.setBounds(new Rectangle(0,0,550,550));
  		this.setTitle("注冊新用戶");
  		jlPrompt.setText("請?zhí)顚懸韵聝?nèi)容");
  		jlPrompt.setBounds(new Rectangle(10,10,100,20));
  		jlNickName.setText("昵稱");
  		jlNickName.setBounds(new Rectangle(36,40,45,20));
  		jtNickName.setBounds(new Rectangle(70,40,180,22));
  		jlPassword.setText("密碼");
  		jlPassword.setBounds(new Rectangle(36,70,60,20));
  		jpfPassWord.setBounds(new Rectangle(70,70,180,22));
  		//將顯示頭像的下拉列表框進(jìn)行個性化設(shè)置
  		//使其能夠顯示圖標(biāo)而不是平常的文字
  		ComboBoxModel model=new HeadPicCombobox(pics);
  		ListCellRenderer renderer=new HeadPicCellRenderer();
  		jcbFace.setBounds(new Rectangle(290,40,80,50));  
  		jcbFace.setModel(model);            //設(shè)置控件的模型
  		jcbFace.setRenderer(renderer);      //安裝繪制器
  		
  		
  		jlSex.setText("性別");
  		jlSex.setBounds(new Rectangle(36,100,45,20));
  		jcbSex.setToolTipText("");
  		jcbSex.addItem("女");
  		jcbSex.addItem("男");
  		jcbSex.setBounds(new Rectangle(70,100,45,22));
  		jlAge.setText("年齡");
  		jlAge.setBounds(new Rectangle(135,100,50,20));
  		jtfAge.setBounds(new Rectangle(170,100,40,22));
  		jlPhone.setText("電話");
  		jlPhone.setBounds(new Rectangle(225,100,50,20));
  		jtfPhone.setBounds(new Rectangle(260,100,110,22));
  		jlEMail.setText("電子郵件");
  		jlEMail.setBounds(new Rectangle(10,130,60,20));
  		jtfEMail.setBounds(new Rectangle(70,130,300,22));
  		jlHomePage.setText("個人主頁");
  		jlHomePage.setBounds(new Rectangle(10,160,60,20));
  		jtfHomePage.setBounds(new Rectangle(70,160,300,22));
  		jlResume.setText("個人說明");
  		jlResume.setBounds(new Rectangle(10,190,60,20));
  		jtpResume.setBounds(new Rectangle(70,190,300,110));
  		jbOK.setText("確定");
  		jbOK.setBounds(new Rectangle(147,330,79,29));
  		jbOK.addMouseListener(new java.awt.event.MouseAdapter(){
  			public void mouseClicked(MouseEvent e){
  				jbOK_mouseClicked(e);
  			}
  		});
  		jbCancel.setText("取消");
  		jbCancel.setBounds(new Rectangle(260,329,79,29));
  		jbCancel.addMouseListener(new java.awt.event.MouseAdapter(){
  			public void mouseClicked(MouseEvent e){
  				jbCancel_mouseClicked(e);
  			}
  		});
  		
  		this.getContentPane().add(jpBottom,null);
  		jpBottom.add(jlPrompt,null);
  		jpBottom.add(jlNickName,null);
  		jpBottom.add(jtNickName,null);
  		jpBottom.add(jlPassword,null);
  		jpBottom.add(jpfPassWord,null);
  		jpBottom.add(jcbFace,null);
  		jpBottom.add(jlSex,null);
  		jpBottom.add(jcbSex,null);
  		jpBottom.add(jlAge,null);
  		jpBottom.add(jtfAge,null);
  		jpBottom.add(jlPhone,null);
  		jpBottom.add(jtfPhone,null);
  		jpBottom.add(jtfEmail,null);
  		jpBottom.add(jlEmail,null);
  		jpBottom.add(jlHomePage,null);
  		jpBottom.add(jtfHomePage,null);
  		jpBottom.add(jlResume,null);
  		jpBottom.add(jtpResume,null);
  		jpBottom.add(jbOK,null);
        jpBottom.add(jbCancel,null);
    }
    
 //處理"確定"按鈕的mouseClicked事件的方法
  void jbOK_mouseClicked(MouseEvent e) 
  {
  	try
  	{  
  		     Socket socket=new Socket(InetAddress.getByName(serverName),serverPort);
		     BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
		     PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
		     //按照通訊協(xié)議發(fā)送用戶注冊的請求
		      out.println("NEW");
		      out.println(jtNickName.getText( ).trim());      //昵稱
		      out.println(jpfPassWord.getPassword());         //口令
		      out.println(jcbFace.getSelectedIndex()+1);      //頭像號
		      out.println(jcbSex.getSelectedIndex());         //性別
		      out.println(jtfAge.getText( ).trim());          //年齡
		      out.println(jtfEMail.getText( ).trim());        //EMail      
		      out.println(jtfHomePage.getText( ).trim());     //個人主頁
		      out.println(jtfPhone.getText( ).trim());        //電話
		      out.println(jtpResume.getText( ).trim());       //個人簡介
		      
		      //讀取服務(wù)器的返回信息
		      int no;
		      no=Integer.parseInt(in.readLine());        //返回的用戶JIM號
		      String str="";
		      str=in.readLine().trim();                  //返回成功或失敗
		      //告訴服務(wù)器結(jié)束通訊        
		      out.println("END");
		      socket.close();
		      
		      if (str.equals("FALSE"))
		      
		          JOptionPane.showMessageDialog(this,"對不起,出錯了:-(","OK",JOptionPane.INFORMATION_MESSAGE);
		          else
		          {//如果成功就告訴用戶其號碼
		            JOptionPane.showMessageDialog(this,"你的JIM號碼是"+no,"OK",JOptionPane.INFORMATION_MESSAGE);
		         
		            this.dispose();   //關(guān)閉注冊窗口
		       //打開JIM的窗口界面
		      JimWin jimWin=new JimWin(no,serverName,serverPort);
		      jimWin.setVisible(true);
		    }
		  }catch(IOException e1){ }
		  }
		  
		//處理"取消"按鈕的mouseClicked事件   
		  void jbCancel_mouseClicked(MouseEvent e)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本丰满少妇一区二区三区| 99久久婷婷国产综合精品电影| 亚洲精品一区二区三区香蕉| 91在线视频官网| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品入口麻豆九色| 1000部国产精品成人观看| 69堂国产成人免费视频| www.久久精品| 韩国av一区二区| 日韩精品亚洲专区| 一区二区三区在线视频观看| 国产亚洲欧美日韩在线一区| 91麻豆精品国产无毒不卡在线观看| 成年人国产精品| 国产91精品一区二区| 国产一区欧美一区| 午夜精品久久久久久久久久久| 亚洲日本中文字幕区| 亚洲国产电影在线观看| 精品国产凹凸成av人导航| 欧美男同性恋视频网站| 91成人免费电影| 99国产欧美另类久久久精品| 国产成人精品三级麻豆| 激情丁香综合五月| 日本vs亚洲vs韩国一区三区二区 | 91麻豆国产福利精品| 久久成人免费日本黄色| 五月天久久比比资源色| 亚洲国产视频直播| 亚洲永久精品大片| 亚洲欧美精品午睡沙发| 中文字幕制服丝袜一区二区三区| 久久综合色之久久综合| 亚洲6080在线| 亚洲成人手机在线| 亚洲一级二级三级| 亚洲电影一级片| 天堂资源在线中文精品| 午夜久久福利影院| 天堂成人免费av电影一区| 日韩福利电影在线观看| 视频一区国产视频| 日韩精品久久理论片| 美美哒免费高清在线观看视频一区二区| 亚洲成a人片综合在线| 亚洲va欧美va国产va天堂影院| 亚洲国产视频一区二区| 日韩二区三区四区| 激情文学综合丁香| 国产成人精品综合在线观看 | 久久69国产一区二区蜜臀| 免费成人av资源网| 国产美女精品人人做人人爽| 国产美女娇喘av呻吟久久| 成人在线视频首页| 色综合久久中文字幕| 欧美怡红院视频| 91精品国产91综合久久蜜臀| 日韩欧美你懂的| 久久久91精品国产一区二区精品| 国产精品久久久久一区二区三区 | 亚洲成人先锋电影| 老司机午夜精品| 国产传媒久久文化传媒| aaa亚洲精品| 在线观看av一区| 欧美一区二区三区不卡| 久久久精品综合| 亚洲天堂2014| 日韩av电影免费观看高清完整版 | 日本一区二区三区高清不卡| 一区在线观看视频| 无码av中文一区二区三区桃花岛| 激情综合色综合久久| 99精品偷自拍| 欧美一级在线观看| 中文字幕人成不卡一区| 日本在线不卡视频| 成人av在线资源网| 欧美高清视频一二三区 | 亚洲视频一区在线| 日韩精品欧美精品| 99精品视频在线播放观看| 欧美一级二级三级蜜桃| 中文文精品字幕一区二区| 亚洲福中文字幕伊人影院| 国产美女娇喘av呻吟久久| 欧美三级电影网站| 国产无人区一区二区三区| 午夜av电影一区| 粗大黑人巨茎大战欧美成人| 日韩一二三区视频| 一区二区在线观看免费| 国产精品一卡二卡| 在线不卡的av| 亚洲色图在线视频| 国产成人精品亚洲777人妖| 欧美日韩精品免费观看视频 | 国产色91在线| 日本成人在线不卡视频| 91丨porny丨在线| 亚洲一区二区不卡免费| 高清国产午夜精品久久久久久| 欧美一三区三区四区免费在线看| 亚洲欧洲日韩一区二区三区| 久久国产精品一区二区| 欧美日韩一级黄| 尤物在线观看一区| 99久久久精品免费观看国产蜜| 久久尤物电影视频在线观看| 日韩黄色免费网站| 欧美三级中文字| 亚洲人成网站在线| 成人av免费在线| 国产视频一区二区在线| 黑人巨大精品欧美一区| 日韩一级黄色片| 天堂成人免费av电影一区| 欧美午夜宅男影院| 亚洲六月丁香色婷婷综合久久 | 亚洲国产wwwccc36天堂| 94-欧美-setu| 亚洲图片激情小说| 91丨九色porny丨蝌蚪| 中文字幕日韩欧美一区二区三区| 国产成人精品影视| 国产日产欧美一区| 国产精品2024| 国产午夜精品在线观看| 国产毛片精品视频| 国产午夜精品久久久久久免费视| 国产一区二区精品久久99| 久久亚区不卡日本| 国产精品系列在线观看| 国产欧美日韩在线视频| 大白屁股一区二区视频| 中文字幕一区二区三| 91免费观看视频| 亚洲精品v日韩精品| 欧美性猛片aaaaaaa做受| 亚洲电影一区二区三区| 日本中文字幕一区二区有限公司| 日精品一区二区三区| 欧美精品久久99久久在免费线| 五月天丁香久久| 精品久久久久av影院| 国产精品一级在线| 亚洲色图.com| 欧美在线免费播放| 蜜桃视频在线观看一区二区| 精品日韩欧美在线| 成人综合激情网| 亚洲色图第一区| 欧美精品xxxxbbbb| 国产综合久久久久久鬼色| 日本一区二区三区国色天香 | 91精品一区二区三区在线观看| 天堂久久一区二区三区| 精品国产乱码久久久久久免费 | 色网综合在线观看| 亚洲一区在线观看网站| 欧美一区二区三区影视| 黑人巨大精品欧美黑白配亚洲| 中国av一区二区三区| 欧美体内she精视频| 久久电影国产免费久久电影| 国产精品视频九色porn| 91久久国产最好的精华液| 日韩高清在线观看| 欧美激情一区二区三区四区| 91福利区一区二区三区| 激情综合色综合久久综合| 国产精品久久久久久久久图文区| 欧美日免费三级在线| 国产在线国偷精品免费看| 亚洲蜜桃精久久久久久久| 91精品国产一区二区| 高清国产一区二区三区| 三级精品在线观看| 欧美韩国日本一区| 欧美日韩久久久| 国产成人99久久亚洲综合精品| 一区2区3区在线看| 精品国产乱码久久久久久夜甘婷婷 | 亚洲激情五月婷婷| 久久综合狠狠综合| 欧美日韩黄色影视| 国v精品久久久网| 蜜桃视频一区二区| 一区二区三区四区乱视频| 久久女同性恋中文字幕| 欧美性做爰猛烈叫床潮| 国产成a人无v码亚洲福利| 日日夜夜免费精品| 中文字幕在线视频一区| 日韩欧美一级二级| 欧美三级在线播放| 91日韩精品一区|