基于java awt/swing的网络聊天工具下载_loginframe.java

login.setToolTipText("\u767b\u9646"); login.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { loginActionPerformed(evt); } }); getContentPane().add(login); login.setBounds(120, 180, 70, 26); quit.setText("\u9000\u51fa"); quit.setToolTipText("\u9000\u51fa"); quit.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { quitActionPerformed(evt); } }); getContentPane().add(quit); quit.setBounds(210, 180, 70, 26); servername.setText("127.0.0.1"); getContentPane().add(servername); servername.setBounds(90, 140, 77, 20); serverport.setText("8080"); getContentPane().add(serverport); serverport.setBounds(230, 140, 40, 20); pack(); } // //GEN-END:initComponents private void jCancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCancelButtonActionPerformed// TODO add your handling code here: Register.dispose(); }//GEN-LAST:event_jCancelButtonActionPerformed private void jOKButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jOKButtonActionPerformed// TODO add your handling code here: try{ Socket socket=new Socket(InetAddress.getByName(server),serport);//连接服务器 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());//发送呢称等信息 out.println(dialogPassword.getPassword()); out.println(email.getText().trim()); out.println(info.getText().trim()); out.println(place.getSelectedItem()); out.println(headpic.getSelectedIndex());//head picindex if(boy.isSelected())out.println("boy"); else out.println("girl"); String str=in.readLine().trim();//从服务器读取信息 //如果出错 if(str.equals("false")) JOptionPane.showMessageDialog(this,"注册失败,请重试","ok",JOptionPane.INFORMATION_MESSAGE); else{//如果成功就告诉用户其号码 str=in.readLine().trim(); int no=Integer.parseInt(str); int udpport=Integer.parseInt(in.readLine());//得到udp发送端口号 JOptionPane.showMessageDialog(this,"your javaicq#is"+no,"ok",JOptionPane.INFORMATION_MESSAGE); Register.dispose();//并打开主窗口 MainWin f2=new MainWin(nickname.getText().trim(),no,server,serport,udpport); f2.setBounds(800,10,100,400); f2.setVisible(true); } socket.close(); } catch(IOException e1){ JOptionPane.showMessageDialog(this,"无法与服务器连接","ok",JOptionPane.INFORMATION_MESSAGE); } }//GEN-LAST:event_jOKButtonActionPerformed class HeadPicCombobox extends DefaultComboBoxModel {//头象列表类 public HeadPicCombobox(String[] pics) { for(int i=0; i < pics.length; ++i) { addElement(new Object[] {new ImageIcon(pics[i]) } ); } }public Icon getIcon(Object object) {Object[] array = (Object[])object;return (Icon)array[0];} } class HeadpicCellRenderer extends JLabel implements ListCellRenderer {private BorderlineBorder = BorderFactory.createLineBorder(Color.red, 2),emptyBorder = BorderFactory.createEmptyBorder(2,2,2,2);public HeadpicCellRenderer() {setOpaque(true);}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.getSelectionBackground());}else { setForeground(list.getForeground()); setBackground(list.getBackground());} if(cellHasFocus)setBorder(lineBorder);else setBorder(emptyBorder);return this;} } private void quitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_quitActionPerformed// TODO add your handling code here: this.dispose(); System.exit(0); }//GEN-LAST:event_quitActionPerformed private void loginActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loginActionPerformed// TODO add your handling code here: try { server=servername.getText().toString(); serport=Integer.parseInt(serverport.getText()); } catch(Exception e) { e.printStackTrace(); } try{ Socket socket=new Socket(InetAddress.getByName(server),serport);//连接服务器 BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out=new PrintWriter(new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true); System.out.println(socket); out.println("login");//告诉服务器我要登录 out.println(jicq.getText()); out.println(password.getPassword()); String str=" "; str=in.readLine().trim();//从服务器读取消息 //如果失败就告诉出错 if(str.equals("false")) JOptionPane.showMessageDialog(this,"密码错误,请重试!","ok",JOptionPane.INFORMATION_MESSAGE); else if(str.equals("上线")) JOptionPane.showMessageDialog(this,"该用户已经在线!","ok",JOptionPane.INFORMATION_MESSAGE); else{//如果成功就打开主程序 str=in.readLine().trim();//得到注册昵称 int udpport=Integer.parseInt(in.readLine());//得到udp发送端口号 this.dispose(); int g=Integer.parseInt(jicq.getText()); MainWin mw=new MainWin(str,g,server,serport,udpport); mw.setBounds(800,10,100,400); mw.setVisible(true); } socket.close(); } catch(IOException e1){ JOptionPane.showMessageDialog(this,"无法同服务器进行连接!","ok",JOptionPane.INFORMATION_MESSAGE); } }//GEN-LAST:event_loginActionPerformed private void newuserActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newuserActionPerformed// TODO add your handling code here: try { server=servername.getText().toString(); serport=Integer.parseInt(serverport.getText()); } catch(Exception e) { e.printStackTrace(); } this.dispose(); Register.setBounds(200, 200, 390, 360);//打开新建窗口 Register.setVisible(true); }//GEN-LAST:event_newuserActionPerformed /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { LoginFrame lf=new LoginFrame(); lf.setBounds(400, 280, 320, 250); lf.setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JDialog Register; private javax.swing.JRadioButton boy; private javax.swing.JPasswordField dialogPassword; private javax.swing.JTextField email; private javax.swing.JRadioButton girl; private javax.swing.JComboBox headpic; private javax.swing.JTextPane info; private javax.swing.JButton jCancelButton; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel12; private javax.swing.JLabel jLabel13; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private javax.swing.JButton jOKButton; private javax.swing.JTextField jicq; private javax.swing.JButton login; private javax.swing.JButton newuser; private javax.swing.JTextField nickname; private javax.swing.JPasswordField password; private javax.swing.JComboBox place; private javax.swing.JButton quit; private javax.swing.JTextField servername; private javax.swing.JTextField serverport; private javax.swing.ButtonGroup sexButtonGroup; // End of variables declaration//GEN-END:variables }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值