[Head First Java] - Swing做一个简单的客户端

参考 - P487

1. vscode配置java的格式

在这里插入图片描述
点击左下角齿轮 -> 设置 -> 打开任意的setting.json输入如下代码

{code-runner.executorMap": {"java": "cd $dir && javac -encoding utf-8 $fileName && java $fileNameWithoutExt"},
}

之后再执行就可以了
在这里插入图片描述

2. 建议的聊天客户端如下

import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class SimpleChatClientA {JTextField outgoing;PrintWriter writer;Socket sock;public void go() {JFrame frame = new JFrame("Ludicrously Simple Chat Client");JPanel mainPanel = new JPanel();outgoing = new JTextField(20);JButton sendButton = new JButton("Send");sendButton.addActionListener(new SendButtonListener());mainPanel.add(outgoing);mainPanel.add(sendButton);frame.getContentPane().add(BorderLayout.CENTER, mainPanel);setUpNetworking();frame.setSize(400, 500);frame.setVisible(true);}private void setUpNetworking(){try {sock = new Socket("127.0.0.1", 5000);writer = new PrintWriter(sock.getOutputStream());System.out.println("networking established");} catch (IOException ex) {ex.printStackTrace();}}public class SendButtonListener implements ActionListener {public void actionPerformed(ActionEvent ev) {try {writer.println(outgoing.getText());writer.flush();} catch (Exception ex) {ex.printStackTrace();}outgoing.setText("");outgoing.requestFocus();}}   // 关闭SendButton Listener内部类public static void main(String[] args) {new SimpleChatClientA().go();}
}   // 关闭外部类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/250090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Nginx】 Nginx实现端口转发

什么是端口转发 当我们在服务器上搭建一个图书以及一个电影的应用,其中图书应用启动了 8001 端口,电影应用启动了 8002 端口。此时如果我们可以通过 localhost:8001 //图书 localhost:8002 //电影 但我们一般访问应用的时候都是希望不加端口就访问…

计算机网络知识总结

一 OSI与TCP/IP各层的结构与功能,都有哪些协议 OSI的七层体系结构概念清楚,理论也很完整,但是它比较复杂而且不实用。在这里顺带提一下之前一直被一些大公司甚至一些国家政府支持的OSI失败的原因: OSI的专家缺乏实际经验&#xff…

使用redis做为MySQL的缓存

介绍 在实际项目中,MySQL数据库服务器有时会位于另外一台主机,需要通过网络来访问数据库;即使应用程序与MySQL数据库在同一个主机中,访问MySQL也涉及到磁盘IO操作(MySQL也有一些数据预读技术,能够减少磁盘I…

[Head First Java] - 给线程命名

参考 - P503 public class RunThreads implements Runnable {public static void main (String[] args) {RunThreads runner new RunThreads();Thread alpha new Thread(runner);Thread beta new Thread(runner);alpha.setName("Alpha thread");beta.setName(&qu…

Cortex-M3 的SVC、PendSV异常,与操作系统(ucos实时系统)(转)

Cortex-M3 的SVC、PendSV异常,与操作系统(ucos实时系统)转载于:https://www.cnblogs.com/LittleTiger/p/10070824.html

快速排序的C++版

int Partition(int a[], int low, int high) {int x a[high];//将输入数组的最后一个数作为主元&#xff0c;用它来对数组进行划分int i low - 1;//i是最后一个小于主元的数的下标for (int j low; j < high; j)//遍历下标由low到high-1的数{if (a[j] < x)//如果数小于…

springboot---整合shiro

Shiro是一个非常不错的权限框架&#xff0c;它提供了登录和权限验证功能 1.创建数据库脚本 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0; -- ---------------------------- -- Table structure for module -- ---------------------------- DROP TABLE IF EXISTS module; C…

[Head First Java] - 线程共享数据问题

参考 - P507 1. 说明 两个线程共享同一份数据,每次使用数据时,需要先判断其是否在合理范围每次使用数据完毕使用Thread.sleep函数让线程阻塞 2.代码 class BankAccount {private int balance 100;public int getBalance() {return balance;}public void withdraw(int amou…

asp.net中提交表单数据时提示从客户端(。。。)中检测到有潜在危险的 Request.Form 值...

看到这个图是不是很亲切熟悉哈&#xff0c;做过。net的肯定都见过哈 已经 将近4年没碰。net了&#xff0c;今天正好朋友的程序有几个bug,让我帮忙修复下&#xff0c;于是我就抱着试试看的心情改了改&#xff0c;改到最后一个问题的时候也就是上面的这个问题&#xff0c;我一看&…

Openresty编写Lua代码一例

1.前段时间纠结了很久&#xff0c;一直弄不清lua和tomcat的联系。一直认为是lua调用tomcat的接口才可使用&#xff0c;后面才明白过来&#xff0c;进入了一个误区&#xff0c;lua本身就是一门独立的脚本语言。在openresty里面配置好&#xff0c;即可编写映射和响应。 下面是自己…

Shiro表结构设计

表设计 开发用户-角色-权限管理系统&#xff0c;首先我们需要知道用户-角色-权限管理系统的表结构设计。 在用户-角色-权限管理系统找那个一般会涉及5张表&#xff0c;分别为&#xff1a; 1.sys_users用户表 2.sys_roles角色表 3.sys_permissions权限表&#xff08;或资源表&…

[Java核心技术(卷I)] - 简易的日历

参考 - P102~P103 1. 目标 生成一个日历,格式如下图所示。 ps: 当前的天数需要标记为* 2. 核心 对日历的变量 import java.time.*; public class CalendarTest{public static void main(String[] args) {LocalDate date LocalDate.now(); // 获取当前日期int month date…

个人作业——福大微信公众号使用评测

案例分析&#xff1a;在福州大学公众号上&#xff0c;我们可以即时使用手机关注福大新闻&#xff0c;查看自身课表、成绩等。公众号可能存在一些小bug影响同学们的用户体验。本次作业中&#xff0c;作为一个用户——福大的学生&#xff0c;将切身体验该公众号的功能&#xff0c…

在winform中使用wpf窗体

在winform项目&#xff0c;通过引用dll可以添加WPF窗体&#xff0c;如下 但是如果直接在winform的项目中添加wpf窗体还是有部分问题&#xff0c;图片的显示。 直接在XAML界面中用Source属性设置图片会出现错误。必须通过后台代码的方式来实现。 image1.Source GetImageIcon(gl…

shiro---注解

RequiresAuthentication 验证用户是否登录&#xff0c;等同于方法subject.isAuthenticated() 结果为true时。 RequiresUser 验证用户是否被记忆&#xff0c;user有两种含义&#xff1a; 一种是成功登录的&#xff08;subject.isAuthenticated() 结果为true&#xff09;&…

[Java核心技术(卷I)] - Java中的参数能做什么和不能做什么

1. 参考 - P123 ~ P126 2. 你将学到 Java中对方法参数能做什么和不能做什么 方法不能修改基本数据类型的参数(数值型或布尔型)方法可以改变对象参数的状态方法不能让一个对象参数引用一个新的对象 3. 代码证明 public class ParamTest {public static void main(String[] ar…

软件构造 第五章第一节 可复用性的度量、形态和外部观察

第五章第一节 可复用性的度量、形态和外部观察 面向复用编程(programming for reuse)&#xff1a;开发出可复用的软件 基于复用编程(programming with reuse)&#xff1a;利用已有的可复用软件搭建应用系统 代码复用的类型&#xff1a; 白盒复用&#xff1a;源代码可见&#x…

洛谷团队月赛题:题解

10pts10pts10pts 暴力算不解释&#xff0c;时间复杂度O(knk2)O(knk^2)O(knk2)。 30pts30pts30pts 我们观察到nnn很大&#xff0c;杨辉三角会T&#xff0c;直接算会上溢&#xff0c;所以需要预处理出111~kkk逆元再算&#xff0c;时间复杂度O(knnlogkn2)O(knnlogkn^2)O(knnlogkn2…

Angular Forms - 自定义 ngModel 绑定值的方式

在 Angular 应用中&#xff0c;我们有两种方式来实现表单绑定——“模板驱动表单”与“响应式表单”。这两种方式通常能够很好的处理大部分的情况&#xff0c;但是对于一些特殊的表单控件&#xff0c;例如input[typedatetime]、input[typefile]&#xff0c;我们需要重写默认的表…

[web性能优化] - 使用在线工具对html、js、css进行压缩

参考 1. 学习点 使用 在线工具对html、css、js进行压缩学会分析压缩前后的效率提高点 2. 解决方案: 2.1 HTML压缩 在线压缩nodejs提供了 html-minifier工具(在构建层对代码进行压缩)后端模板引擎渲染压缩 2.2 CSS压缩 使用html-minifier对html中的css进行压缩使用clean-cs…