学习笔记二十四:绘图技术 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

学习笔记二十四:绘图技术

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:33


人的大年夜脑和肢体一样,多用则灵,不消则废。——茅以升


本讲内容:画图技巧




一、画图道理
Component类供给了两个和画图相干最重要的办法:
1、paint(Graphics g)绘制组件的外不雅。
2、repaint()刷新组件的不雅。
当组件第一次在屏幕显示的时刻,程度换辉动调用paint()办法来绘制组件
在以下情况paint()将会被调用:
1、窗口最小化,再最大年夜化。
[img]http://img.blog.csdn.net/20150106155110218?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlndW9qaW4xMjMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
3、repaint函数被调用。

2、窗口的大年夜小产生变更。
public class Text extends JFrame{
	MyPanel mb=null;
	
	public static void main(String[] args) {
		Text t=new Text();
	}
	
	public Text() {
		mb=new MyPanel();
		this.add(mb);
		
		//设置窗体属性
		this.setTitle("画图—小劲");
		this.setIconImage((new ImageIcon("images\\2.gif")).getImage());
		this.setLocation(300, 300);
		this.setSize(400,400);
		this.setResizable(false);
		this.setVisible(true);
		this.setDefaultClo搜刮引擎优化peration(JFrame.EXIT_ON_CLOSE);
	}
}

//定义一个MyPanel  用于画图和实现画图的区域
class MyPanel extends JPanel{
	//这个办法是持续父类JPanel的,Graphics 画图的重要类   画笔的意思
	public void paint(Graphics g) {
		super.paint(g);//一般要写,调用父类函数完成初始化义务
		g.drawOval(0, 0, 80, 90);//椭圆,左上角坐标为(0,0)横长80竖长90(<span style="font-family: Arial;">先画坐标)</span>
		g.drawLine(100, 0, 200, 100);//线,始点坐标(100,0)终点坐标(200,100)
		g.drawRect(220, 20, 60, 80);//矩形,左上角坐标为(220,20)横长60竖长80
		g.draw3DRect(300, 20, 60, 80, true);//3d矩形
		g.setColor(Color.blue);//如不雅不设制揭捉色,默认是黑色
		g.fillRect(10, 120, 60, 80);//填充色彩
		g.fill3DRect(10, 220, 60, 80, true);
		g.setColor(Color.red);//如不雅不设置会用膳绫擎的色彩
		g.fillOval(100, 120, 80, 80);
		
	}
}


二、画图片、字符串
public class Text extends JFrame{
	MyPanel mb=null;
	
	public static void main(String[] args) {
		Text t=new Text();
	}
	
	public Text() {
		mb=new MyPanel();
		this.add(mb);
		
		//设置窗体属性
		this.setTitle("画图—小劲");
		this.setIconImage((new ImageIcon("images\\1.gif")).getImage());
		this.setLocation(300, 300);
		this.setSize(400,400);
		this.setResizable(false);
		this.setVisible(true);
		this.setDefaultClo搜刮引擎优化peration(JFrame.EXIT_ON_CLOSE);
	}
}

class MyPanel extends JPanel{
	public void paint(Graphics g) {
		super.paint(g);
		//画图用到的图片要拷贝在src目次下/表示当前目次
		Image p=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/p1.jpg"));
		g.drawImage(p,30,20,300,250,this);//画图片
		g.setColor(Color.red);//设置画笔的色彩
		g.setFont(new Font("汉文彩云",Font.BOLD,50));//画字符串   BOLD,50粗体大年夜小50
		g.drawString("阳西一中", 90, 330);
	}
}

[img]http://img.blog.csdn.net/20150106172243015?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlndW9qaW4xMjMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center



三、综合案例
public class Text extends JFrame{
	JPanel mb1;
	JButton an1,an2,an3,an4,an5,an6,an7,an8;
	MyPanel mb=null;
	
	public static void main(String[] args) {
		Text t=new Text();
	}
	
	public Text() {
		mb1 = new JPanel(new GridLayout(6,3,200,2));
		an1=new JButton("黑客技巧");
		an2=new JButton("软件破解");
		an3=new JButton("编程大年夜牛");
		an4=new JButton("网页设计");
		an5=new JButton("PHP技巧");
		an6=new JButton("C++技巧");
		an7=new JButton("Java技巧");
		an8=new JButton("linux技巧");
		mb1.add(an1); mb1.add(an2); mb1.add(an3); mb1.add(an4);
		mb1.add(an5); mb1.add(an6); mb1.add(an7); mb1.add(an8);
		
		mb=new MyPanel();
		
		this.add(mb1,BorderLayout.SOUTH);
		this.add(mb);
		
		//设置窗体属性
		this.setTitle("技巧大年夜牛—小劲");
		this.setIconImage((new ImageIcon("images\\1.gif")).getImage());
		this.setLocation(300, 300);
		this.setSize(400,400);
		this.setResizable(false);
		this.setVisible(true);
		this.setDefaultClo搜刮引擎优化peration(JFrame.EXIT_ON_CLOSE);
	}
}

class MyPanel extends JPanel{
	public void paint(Graphics g) {
		super.paint(g);
		Image p=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/p2.jpg"));
		g.drawImage(p, 20, 30, 85, 100, this);
		g.drawString("我是蛋疼的法度榜样猿", 130, 50);
		g.drawString("我是90's 后", 130, 70);
		g.drawString("我是黑阔", 130, 90);
		g.drawString("我习惯一小我孤单的感到", 130, 110);
	}
}

[img]http://img.blog.csdn.net/20150106174422470?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlndW9qaW4xMjMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center


本讲就到这里,Take your time and enjoy it



相关案例查看更多