⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hhl.java

📁 一个很好玩的小游戏
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    passmessage1 = passmessage;
    namearea.setBounds(new Rectangle(51, 6, 140, 33));
    jf.setLayout(null);
    this.setSize(new Dimension(500, 382));
    this.setTitle("来自"+whopass+"的消息");
    this.setLocation(350,300);
    name.setFont(new java.awt.Font("Dialog", 0, 13));
    name.setBorder(BorderFactory.createEtchedBorder());
    name.setDebugGraphicsOptions(0);
    name.setDoubleBuffered(false);
    name.setMinimumSize(new Dimension(43, 23));
    name.setOpaque(false);
    name.setRequestFocusEnabled(true);
    name.setToolTipText("");
    name.setHorizontalAlignment(SwingConstants.RIGHT);
    name.setHorizontalTextPosition(SwingConstants.CENTER);
    name.setIconTextGap(4);
    name.setText("呢称:");
    name.setVerticalAlignment(javax.swing.SwingConstants.CENTER);
    name.setBounds(new Rectangle(9, 6, 45, 33));
    e_mailarea.setBounds(new Rectangle(53, 41, 270, 31));
    e_mailarea.setText("ddd");
    e_mailarea.setBorder(BorderFactory.createEtchedBorder());
    e_mailarea.setHorizontalAlignment(SwingConstants.LEFT);
    e_mailarea.setFont(new java.awt.Font("Dialog", 0, 13));
    e_mail.setBounds(new Rectangle(8, 41, 46, 31));
    e_mail.setText("邮箱:");
    e_mail.setBorder(BorderFactory.createEtchedBorder());
    e_mail.setHorizontalAlignment(SwingConstants.RIGHT);
    e_mail.setFont(new java.awt.Font("Dialog", 0, 13));
    icon.setEnabled(true);
    icon.setBorder(BorderFactory.createEtchedBorder());
    icon.setHorizontalAlignment(SwingConstants.CENTER);
    icon.setIcon(icon3);
    icon.setIconTextGap(4);
    icon.setText("头像");
    icon.setBounds(new Rectangle(388, 4, 95, 110));
    icon.addMouseListener(new MouseAdapter(){
            public void mouseClicked(MouseEvent e)
            {
                    JOptionPane.showMessageDialog(null,"该用户没有填写个人资料");

            }
            });
    ip.setFont(new java.awt.Font("Dialog", 0, 14));
    ip.setHorizontalAlignment(SwingConstants.CENTER);
    ip.setText("对方的ip为:");
    ip.setBounds(new Rectangle(8, 79, 366, 33));
    simple.setFont(new java.awt.Font("Dialog", 0, 13));
    simple.setToolTipText("");
    simple.setHorizontalAlignment(SwingConstants.CENTER);
    simple.setText("按ctrl+enter回复");
    simple.setBounds(new Rectangle(192, 6, 181, 33));
    jt.addKeyListener(new KeyAdapter(){
                  public void keyPressed(KeyEvent e)
                  {
                    int keyCode = e.getKeyCode();
                    int modifiers = e.getModifiers();
                     if (modifiers==2 & keyCode==10)
                     {
                     	dispose();
                     	Frame1 f = new Frame1(who,sname1,null);
                     	f.show(true);
                     }
                  }
                  });
    jsc.setBounds(new Rectangle(5, 124, 485, 230));
    jt.setEditable(false);
    jt.setText(passmessage1);
    jf.add(e_mail, null);
    jf.add(icon, null);
    jf.add(e_mailarea, null);
    jf.add(namearea, null);
    jf.add(name, null);
    jf.add(simple, null);
    jf.add(jsc, null);
    jf.add(ip, null);
    this.setResizable(false);
    jsc.getViewport().add(jt, null);
  }

}


//**********************************************************

class thReceive extends Thread
	{

		public void run()
		{
			int i,j;
			String temp;
			try
			{
				while(true)
				{
					clientservice = (user)clientChat.get();
					if (clientservice.flag.compareTo("Login")==0)
					{
						uList.addElement(clientservice.usrName);
						for(int d=0;d < uList.size();d++)
						{
							book = new DefaultMutableTreeNode(uList.elementAt(d));
						}	;
       					tp1.add(book);
					}
					if (clientservice.flag.compareTo("Logout")==0)
					{
						uList.removeElement(clientservice.usrName);
						for(int d=0;d < uList.size();d++)
						{
							book = new DefaultMutableTreeNode(uList.elementAt(d));
						}
      					tp1.add(book);
					}
					
					if (clientservice.flag.length()>0)
				      {
				      	if(clientget != null)
				      	{
				      		if(clientservice.flag.compareTo(" "+passmyname)==0)
				      		{ 

				      			receiveFrame rf = new receiveFrame(passmyname,clientservice.usrName,clientservice.msg);
				      		    rf.show(true);
				      			java.io.InputStream  insound  =  new  java.io.FileInputStream("image/msg.wav");  
      							sun.audio.AudioStream  sound  =  new  sun.audio.AudioStream(insound);  
       							sun.audio.AudioPlayer.player.start(sound); 
				      		}
				      	}
				      	else
				      		JOptionPane.showMessageDialog(null,"信息不能回复");
                      }                
				}
			}
			catch(Exception e){}
		}
	};
	class thSend extends Thread
	{

		public void run()
		{
			try
			{
				clientChat.send(clientservice);
			}
			catch(Exception e){}
		}
	};

}
//*****************************************************************************




//****************************
//*                          *
//*                          *
//*       聊天室部分         *
//*                          *
//*                          *
//****************************
//****************************************************************************

class cschat extends JFrame {
	user clientservice,clientget;
	client clientChat;
	String name;

	thReceive tr;
	thSend ts;	
	
	Vector uList=new Vector(1,1);
	logListener ll;
	sendListener sl;
	persendListener perS;
	
	
  JPanel f;
  JMenuBar jmb1 = new JMenuBar();
  JMenu os = new JMenu();
  JMenuItem loginmu = new JMenuItem();
  JMenuItem logoutmu = new JMenuItem();
  JMenu help = new JMenu();
  JMenuItem about = new JMenuItem();
  JLabel jLabel1 = new JLabel();
  JScrollPane jScrollPane1 = new JScrollPane();
  JTextArea messagearea = new JTextArea();
  JList online = new JList();
  JLabel yourname = new JLabel();
  JTextField namearea = new JTextField();  
  JLabel serviceip = new JLabel();
  JTextField iparea = new JTextField();
  JTextField sendarea = new JTextField();
  JButton publicsend = new JButton();
  JButton personalsend = new JButton();
  JCheckBox jcb = new JCheckBox();
  JComboBox jcbB = new JComboBox();
  JButton log = new JButton();
  String[] s=new String[14];
  String s1;
  String s2 = "my";
  String ss = "无表情";
  int re = 1;
  ImageIcon icon = new ImageIcon();
  int kyou =0;
  int checkyou = 1;
  
  
 public cschat(String passname) {
	f = (JPanel) this.getContentPane();
    f.setLayout(null);
 	this.setBounds(200,100,595,560);
 	this.setTitle("在线聊天");//聊天室名称 	
    this.setJMenuBar(jmb1);
    jScrollPane1.setBounds(new Rectangle(10, 109, 476, 298));
    os.setFont(new java.awt.Font("Dialog", 0, 13));
    os.setHorizontalAlignment(SwingConstants.LEFT);
    os.setText("系统");
    loginmu.setFont(new java.awt.Font("Dialog", 0, 13));
    loginmu.setHorizontalAlignment(SwingConstants.LEFT);
    loginmu.setText("登陆");
    loginmu.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) 
      { 
      			String tempstring;
				int wakeup;
				if(log.getText().compareTo("断开") == 0)
				{
					JOptionPane.showMessageDialog(null,"你已经登陆了啊!!想搞破坏啊?");
					return;
				}
      			if (namearea.getText().compareTo("")==0)
				{
					JOptionPane.showMessageDialog(null,"请输入用户名!难道要我叫你大笨蛋?");
					return;
				}
				else if (namearea.getText().length() > 7)
				{
				    JOptionPane.showMessageDialog(null,"呢称太长了!叫我怎么记啊?");
					return;
				}
				if (iparea.getText().compareTo("")==0)
				{
					JOptionPane.showMessageDialog(null,"请输入服务器IP!");
					return;
				};
				if(checkyou >= 3) 
				{					
					
					if(checkyou >= 5) 
					{
						JOptionPane.showMessageDialog(null,"你登陆的次数太多,无权登陆!");					
      					try
      					{
      						clientChat.disconnect();
							log.setText("登录");
							uList.clear();             
							online.setListData(uList);
							iparea.setEditable(true);
							namearea.setEditable(true);
						}
						catch(Exception ioe){}
						return;				
					}	
					else
				    	JOptionPane.showMessageDialog(null,"你这样玩,还是不是在聊天啊?");
				}			
				if(kyou >= 3)
				{
					JOptionPane.showMessageDialog(null,"你的脏话过多,无权登陆!");
					return;					
				}
				name=namearea.getText();
				clientChat=new client(iparea.getText(),namearea.getText());			
				wakeup=clientChat.connect();
				if (wakeup==0)
				{
					return;
				}

				clientget=(user)clientChat.get();
				if (clientget==null)
				{

					clientChat.disconnect();
					return;
				}
				if (clientget.flag.compareTo("MAX")==0)
				{

					clientChat.disconnect();
					return;
				}
				if (clientget.flag.compareTo("OK")==0){}
				else
				{

					clientChat.disconnect();
					return;
				}
				
				messagearea.setText(clientget.msg);
				log.setText("断开");
				iparea.setEditable(false);
				checkyou++;
				namearea.setEditable(false);
				tr=new thReceive();
				tr.start();
      }
    });    
    logoutmu.setFont(new java.awt.Font("Dialog", 0, 13));
    logoutmu.setHorizontalAlignment(SwingConstants.LEFT);
    logoutmu.setText("退出");
    logoutmu.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) 
      { 
      		if(log.getText().compareTo("断开")==0)
      		{
      			try
      			{
      			clientChat.disconnect();
				log.setText("登录");
				uList.clear();             
				online.setListData(uList);
				iparea.setEditable(true);
				namearea.setEditable(true);
				}
				catch(Exception ioe){}
			}
			else
				{
					JOptionPane.showMessageDialog(null,"没有登陆何谓退出啊?");
					mydilog  d = new mydilog();
				}
      }
    });
    s[0] = "昏昏欲睡";    
    s[1] = "笑咪咪";
    s[2] = "哈哈大笑";
    s[3] = "微笑";
    s[4] = "惊呀";
    s[5] = "自得其乐";
    s[6] = "自以为是";
    s[7] = "睁只眼闭只眼";
    s[8] = "色咪咪";
    s[9] = "扮个鬼脸";
    s[10] = "伤心";
    s[11] = "嚎啕大哭";
    s[12] = "愤怒";
    s[13] = "生气";
    jcbB.addItem(ss);
    for(int i=0;i<14;i++)
        {
                    jcbB.addItem(s[i]);
        }
    jcbB.setBounds(new Rectangle(10,470, 92, 28));
    jcbB.addItemListener(new ItemListener()
        {
                public void itemStateChanged(ItemEvent e)
                {
                 s1 = e.getItem().toString();
                }
        });
    help.setFont(new java.awt.Font("Dialog", 0, 13));
    about.setFont(new java.awt.Font("Dialog", 0, 13));
    os.add(loginmu);
    os.add(logoutmu);
    help.setText("帮助");
    about.setText("关于");
    about.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e)
      {
      	 JOptionPane.showMessageDialog(null,"           翰海林论坛\n广东轻院计算机系计算机022\n           翰海林 制作");
      }
    });
    help.add(about);
    jmb1.add(os);
    jmb1.add(help);
    online.setBorder(BorderFactory.createEtchedBorder());
    online.setBounds(new Rectangle(492, 109, 87, 299));
    yourname.setFont(new java.awt.Font("Dialog", 0, 14));
    yourname.setText("呢称:");//你登陆的名字
    yourname.setBounds(new Rectangle(19, 426, 45, 26));
    namearea.setFont(new java.awt.Font("Dialog", 0, 14));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -