网络画板的开发也是基于通信基础。关于通信的体内容,在上一篇博客里面已经说过,这里不再多说。这里主要介绍一下该画板的实现过程。当然这三行代码还是核心内容。
ServerSocket server = new ServerSocket(12345); Socket client = server.accept(); Socket client = new Socket("localhost", 12345);
首先,是一个画板的实现,这个不是大问题。还有就是文件传输的问题,这也不是问题,这个在上一章已经得到解决。所以不在累述。
首先我们在创建服务器画板时打开服务器,当然为了方便于问题的解决,我们把客户端的地址也设置为默认的,在打开画板的一瞬间客户端同时连接服务器。为了更好的作画,我们选择了一个拉杆啊监听器来监听RGB三原色的值,这样有助于画出不同颜色的图形,首先是实例化三个拉杆,当然还有三个监听器,这是必然的,其次是对他们分别的加了三个监听器·。这三个监听器分别控制不同的拉杆,分别取得不同的值并设置颜色。
ChangeListener red = (new ChangeListener() { public void stateChanged(ChangeEvent e) { R = jsR.getValue(); g.setColor(new Color(R, G, B)); } }); jsR.addChangeListener(red);
还有就是定义了一个类,这是不同于前几次文件传输的一种尝试,这样有助于把一个类封装起来从而有利于属性值的调用此类统一为line类,其实用shape更合适。每次获取坐标值之后把它存到对象中,这样在客户端只要获取类中的数据就可以。
public void mouseReleased(MouseEvent e) { x2 = e.getX(); y2 = e.getY(); Line line = new Line(); String command = bg.getSelection().getActionCommand(); try { line.setX1(x1); line.setX2(x2); line.setY1(y1); line.setY2(y2); line.setCommand(command); line.setR(R); line.setG(G); line.setB(B);
其次,我定义了一个按钮组,这样在判断画什么图形的时候就可以可以直接勾选前面的那个而不用加按钮组,这极大地方便了画板的灵活性,能够更好的运用画板。
private ButtonGroup bg = new ButtonGroup();// 创建一个按钮组
怎么样,那就一起和我看一下吧,看看成果如何。
当然,还有好多地方需要不断的改进和完善。比如没有设置擦除工具等。。
相关推荐
NULL 博文链接:https://zhoujianquan.iteye.com/blog/1916445
基础篇18-基础篇综合习题 基础篇19-python语句与数据结构应用 基础篇20-python函数 基础篇21-文本操作应用 基础篇22-文本操作应用解答 老王Python教程 进阶篇 进阶篇1-进阶篇承上启下 进阶篇2-函数第一节 进阶篇3-...
中国联通通信网络运行维护规程--固定网络设备分册-IDC维护篇.doc
科技行业:5G如何突围,通信设备篇-20190605-中金公司-32页.pdf
"基础篇-14-基础配置.mp4"是理解Spring Boot配置文件的关键,讲解了application.properties或application.yml的使用,以及如何进行环境变量的配置。"基础篇-18-yaml数据格式.mp4"专门针对YAML数据格式进行了讲解,...
总的来说,"python-游戏篇-初级-超级画板"是一个适合初学者的项目,它涵盖了Python GUI编程的基础,同时也提供了动手实践的机会,让学习者在娱乐中增强编程能力。通过完成这个项目,你将能够创建自己的交互式画板...
科技行业:5G如何突围,通信设备篇-0605-中金公司-32页.pdf
### CAN-bus 现场总线基础方案——工具篇 #### 一、CAN-bus简介 CAN-bus(Controller Area Network Bus),即控制器局域网络总线,是一种多主总线,也是国际上广泛应用的现场总线之一。它最初是由德国Bosch公司为...
Dubbo视频教程--基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--传工程源码.rar Dubbo视频教程--基础篇--第04节--使用Dubbo对传统工程进行服务化改造后的服务调用测试--源码.rar Dubbo视频教程--001...
01-基础篇-PPT-笔记-代码(资料01开头传).7z
例如,网络抓包工具Wireshark可以让我们观察网络通信的细节,查看数据包的内容和流向,这对于理解和学习通信协议非常有帮助。另外,端口扫描工具Nmap能帮助我们检测网络服务的状态,理解网络的开放端口和通信模式。...
本资源包“Java项目开发实践---网络篇”涵盖了Java进行网络通信的基础与实践,旨在帮助开发者深入理解并掌握相关知识。 1. **Java网络编程基础** Java提供了丰富的API来处理网络通信,主要集中在`java.net`包下。...
这部分为大数据linux基础操作如查看文件,怎么事实查看文件,怎么复制移动文件,能有效预防新手犯错。
java语言程序设计-基础篇--第八版--英文课件(第15章)
本篇将深入探讨Docker网络的基础,特别是如何配置两个网络命名空间进行通信的过程。通过理解Docker的网络模型,我们可以更好地管理和优化我们的容器化应用程序。 首先,Docker有两种主要的网络模式:桥接网络...
《FX5用户手册(MODBUS通信篇)》将深入介绍如何设置MODBUS通信参数和实现MODBUS报文的发送与接收。 再者,以太网通信是现代工业网络的核心,FX5U系列PLC通过内置的以太网接口提供高速、高容量的数据交换。它支持...
彩屏驱动开发技术资料基础篇TFT-51-6.zip
彩屏驱动开发技术资料基础篇TFT-51-5.zip
彩屏驱动开发技术资料基础篇TFT-51-4.zip
彩屏驱动开发技术资料基础篇TFT-51-3.zip