把自己曾经写的一个客户间聊天的程序与大家分享(2)
package Client;
import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.net.*;import java.io.*;import org.jvnet.substance.skin.*;
/** * 负责连接服务器 * @author lijiapeng * */public class Client extends JFrame{ private JMenuBar menuBar=new JMenuBar(); private JMenu system=new JMenu("系统"); private JMenuItem exit=new JMenuItem("退出"); private JTextArea text=new JTextArea(); private JPanel panel=new JPanel(); private String serverName; private Socket socket; private Login login;
public Client(String serverName){ super("客户端"); this.serverName=serverName; setJMenuBar(menuBar); menuBar.add(system); system.add(exit); panel.setLayout(new BorderLayout()); panel.add(text); add(panel); setSize(200,150); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置窗口的位置居中 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); try{ UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceFieldOfWheatLookAndFeel"); }catch(Exception ex){ ex.printStackTrace(); } setVisible(true); exit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.exit(0); } }); }
/** * 与服务器取得连接 */ public void getConnection(){ try{ text.setText("连接中..."); socket=new Socket(InetAddress.getByName(serverName),4000); if(!socket.isConnected()){ closeConnection(); } String name=socket.getInetAddress().getHostName(); text.append("\n成功连接到服务器"+name); login=new Login(socket,serverName,4000); this.setVisible(false); login.setVisible(true); }catch(Exception e1){ e1.printStackTrace(); } }
public void closeConnection()throws IOException{ socket.close(); }
/** * 主函数 */ public static void main(String args[]){ Client client; if(args.length==0) client=new Client("127.0.0.1"); else client=new Client(args[0]); client.getConnection(); }}
把自己曾经写的一个客户间聊天的程序与大家分享(2)相关推荐
- python软件代码示例-用Python写一个模拟qq聊天小程序的代码实例
Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...
- 能不能用python开发qq_用Python写一个模拟qq聊天小程序的代码实例
用Python写一个模拟qq聊天小程序的代码实例 发布时间:2020-09-09 07:49:29
- 用Python写一个模拟qq聊天小程序的代码实例
前言 今天小编就为大家分享一篇关于用Python写一个模拟qq聊天小程序的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 Python 超简单的聊天 ...
- sand java_我在sand用java写了一个读取wifi密码的程序,该方法由主方法调用,运行没问题,效果也正常,...
我在sand用java写了一个读取wifi密码的程序,该方法由主方法调用,运行没问题,效果也正常,就是无法连续调用,就是如果调用一次就退出然后再运行就可以,如果用完了,再主方法里选择... 我在san ...
- Flutter 构建一个完整的聊天应用程序
在本教程中,我将向您展示如何使用 Flutter 构建一个完整的聊天应用程序.对于这一部分,我们将创建应用程序的 UI 原型,然后我将向您展示如何使用 firebase 创建后端服务并创建聊天系统. ...
- python斗地主游戏源码_我用tkinter写的一个斗地主练习复盘python程序
python写的斗地主模拟器使用说明,以及python的标准控件库tkinter的使用示例. http://vdisk.weibo.com/s/C5R1f8s9EVq2y 我用python写的一个斗地 ...
- python写机器人程序_用Python写的一个多线程机器人聊天程序
本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...
- 我给舅舅用Python写了一个订餐系统微信小程序!生意简直火爆!
微信登录功能的实现 通过小程序的前端 配合python-flask的后端,实现登录接口的功能 在我们正式写代码之前 读一下微信小程序的官方文档. https://developers.weixin.q ...
- 我用370行代码写了一个wxPython的任务托盘程序:实用的屏幕录像机
文章目录 1. 前言 2. 设计思路 3. 源码 4. 打包 4.1 打包成一个目录 4.2 打包成一个文件 1. 前言 最近有同学咨询如何用wx写任务托盘程序,也有同学咨询怎样创建wx的异形窗口.恰 ...
最新文章
- 1771: 书架整理(dp)
- JAVA Java多线程与并发库
- drools 7.x 事件元数据
- iOS平台上的MVVM模式(译文)
- 记录一次在centos下使用gmp的悲伤
- chrome 打印布局_在打印预览模式下使用Chrome的Element Inspector?
- LADRC的学习——用simulink搭建仿真模型
- 利用Python实现Shp格式向GeoJSON的转换!
- Windows Mobile 触摸屏(Touch Panel)截获
- 2021 年最受欢迎的深度学习软件
- 流年依旧,只是散了曾经
- python装饰器和异常处理_装饰器异常处理-面向对象编程-Python教程自动化开发_Python视频教程...
- Vistor(访问者模式)行为型
- python支持复数以及相关的运算吗_python怎么实现复数运算
- sudo: no tty present and no askpass program specified 处理
- Windows远程桌面连接报错【无法连接到远程计算机】
- 默克与Palantir合作打造半导体制造数据平台Athinia;亚马逊云科技推出四项新存储服务和功能 | 全球TMT...
- 如何做好人力资源管理?
- VLC 2.2.1 解决视频字幕乱码
- office 插件开发
热门文章
- 20190605学习日记
- 迪赛智慧数——饼图(玫瑰饼图):世界厨师日之-从业时间
- [导读]7 Steps to Mastering Machine Learning With Python
- python实现gui+mysql图书管理系统_用Python Django框架写一个图书管理系统LMS
- 几个潜在的AI科研助手
- 干货!JAVA容器-自问自答学HashMap
- 【苹果相册推】怎么操作呢?是什么意思?
- c语言运算符 amp 的意思,C语言运算符是什么意思
- java五大浏览器,[Java教程]各主流浏览器(PC、移动端)userAgent属性信息
- No JSON object could be decoded