菜鸟学Java之 Java2D 多线程绘图

本文介绍了使用Java2D在多线程环境下绘制动态连线的尝试,探讨了在滚动面板中绘制时遇到的问题,即在滚动时线条绘制位置出现异常。同时,文章提到了如何使动态展示的区域自动显示,通过在scrollPane中的Panel调用特定方法实现。
摘要由CSDN通过智能技术生成

1 绘制动态连线。

我需要在画布的两点间绘制一条可动态展示(连线可以一段段的按时间增长)的连线,于是我打算使用多线程进行绘制,于是我建立了一个自己的线程类:

class MyThread implements Runnable
	{
		private ArrayList<Shape> shapes;

		public MyThread(ArrayList<Shape> shapes)
		{
			this.shapes = shapes;
		}

		@Override
		public void run()
		{
			isShowing = true;//用于锁住这个展示进行,不让出现一次出现两个展示进程
			Graphics2D g2 = (Graphics2D) getGraphics();

			float dash[] = { 4F };
			g2.setStroke(new BasicStroke(4.0F, BasicStroke.CAP_BUTT,
					BasicStroke.JOIN_MITER, 11.0F, dash, 1.0F));
			for (int index = 0; index < shapes.size(); index++)
			{
				try
				{
					Thread.sleep(15);
				}
				catch(InterruptedException e)
				{
					e.printStackTrace();
				
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值