Java语言之——“绘图板”

Java是一门简单实用的语言,这门原由SUN公司开发的语言大量用于软件开发、WEB浏览器、服务端和其他数字设备,凭借其卓越的通用性、高效性、移植性,早期便迅速得到了业界的青睐。Java作为完全面向对象的语言,具有C++的基本特点,以对象的构建和对象之间的联系为基本编程思想进行解决问题。可以说一个合格的程序员应该至少具备Java语言编程的能力。
作为对于Java初学者一个经典的程序编写训练,“绘图板”难度适中,具有良好的启蒙性,编写的核心是swing界面,技术难点和掌握的重点在于添加监听器与传值。
程序运行首先展示登录界面,主类继承JFrame,添加组件并设置属性,形成了登录界面的雏形
public class Login extends JFrame {

	public static void main(String[] args) {
			
			Login log = new Login();
			log.showFrame();
	}

在其中的按钮组件上添加监听器,以完成后续操作
       
//添加监听器
        
        btn.addActionListener(new Btn_logListener(tfd,pfd,this));


如此不得不涉及到传值问题,登录的实现需要获取账号密码,即主类中组件的内容,但这些对象如tfd(文本框),pfd(密码框),this(对象本身即窗体)在监听器的中是不存在的,所以需要将这些对象作为参数传到监听器中(通过重写构造函数来实现)
/**
	 * 构造函数的重载
	 * @param tfd文本框对象
	 * @param pfd密码框对象
	 * @param frame窗体对象
	 */
	public Btn_logListener( JTextField tfd ,JPasswordField pfd ,JFrame frame){
		this.tfd = tfd;
		this.pfd = pfd;
		this.frame = frame;
	}

至此登录部分已经做好,现在通过点击登录界面的按钮来打开另一个窗体,即另一部分“绘图板”,绘图需要用到javax.awt中的Graphics类,由于作图需要使用画布对象,所以在动作监听器里获取画布对象并传值到鼠标监听器。由于需要将选择操作图形的动作监听器加在按钮上,所以需要向鼠标监听器传递两个参数,画布对象和按钮监听器对象
 public grc_listener(Graphics grc,Btn_shapelistener sln) {
    	this.grc = grc;
    	this.sln = sln;
    }

通过在选择图形的动作监听器在鼠标监听器中产生不同值从而发生影响,在鼠标监听器中作出各种图形
if(sln.type.equals("line"))
    		{
    			grc.drawLine(x1, y1, x2, y2);
    		}
    	else if(sln.type.equals("oval")) {
    		
    			grc.drawOval(Math.min(x1,x2), Math.min ( y1,y2), Math.abs( x1-x2 ), Math.abs( y1-y2 ) );
    	
    	}else ...

至此,绘图板的基本逻辑就完成了,这样一个小小的工程包含了许多重要的知识点与方法,并且具有很大的扩充空间,在以后的学习中也是值得借鉴的








你可能感兴趣的:(java,编程,swing)