`
lj_gzy2014
  • 浏览: 16681 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java图形化用户界面

    博客分类:
  • java
 
阅读更多

              在前面的几篇博客中我们已近了解了java面向对象的一些基本的知识,今天就来了解一下最基础的图形化用户界面。

               java中有许多有关图形界面的类,这些类大多数在awt这个包里,可供我们调用。常用的图形组键有JFrame,JButton,JPanel,这些普通的组建不同的组合方式以及功能调用,可做出很多有用有趣的东西。比如画图板。

              下面就是一个简易画图板的基本代码:

package PaintBoard;

import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;

import javax.swing.JFrame;

public class MyPanint extends JFrame {

	public void showUI(){
		
		this.setSize(400, 400);
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(3);
		this.setTitle("简易画图板");
		
		this.setVisible(true);	
		Graphics g=this.getGraphics();
		Listener1 lisn1=new Listener1(g);
		this.addMouseListener(lisn1);
	}
	
	public void paint(Graphics g){
		super.paint(g);
	}
	public static void main(String[] args) {
		MyPanint mp=new MyPanint();
		mp.showUI();

	}
}

package PaintBoard;

import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;

public class Listener1 implements MouseListener{
      int x1,y1,x2,y2;
     private  Graphics g;
	 public Listener1(Graphics g) {
		this.g = g;
	}
	public void mouseClicked(MouseEvent e) {
		
		
	}

	
	public void mousePressed(MouseEvent e) {
		 x1=e.getX();
		 y1=e.getY();
		
	
	
	}

	
	public void mouseReleased(MouseEvent e) {
		 x2=e.getX();
		 y2=e.getY();
		 g.drawLine(x1, y1, x2, y2);
		
	}

	
	public void mouseEntered(MouseEvent e) {
		
		
	}

	
	public void mouseExited(MouseEvent e) {
		
		
	}

}

               在上面的代码中,得到画布对象要在窗体显现之后,否则通过构造方法传过去的画布对象g会报空指针异常。上面只写了话一条直线的方法,不过画图方式已经能够体现了,即利用画布对象画基本图形的方法巧妙的组合,即可画出美丽的图画,不过在画图的过程中要使用到一些数学知识,所以要画图,基本的数学知识要过关哦。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics