通信基础篇小项目-----简单网络画板的的实现

      网络画板的开发也是基于通信基础。关于通信的体内容,在上一篇博客里面已经说过,这里不再多说。这里主要介绍一下该画板的实现过程。当然这三行代码还是核心内容。

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();// 创建一个按钮组

 

怎么样,那就一起和我看一下吧,看看成果如何。



 

 

 当然,还有好多地方需要不断的改进和完善。比如没有设置擦除工具等。。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值