ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:99.62KB ,
资源ID:2171779      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2171779.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java绘图坐标体系.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java绘图坐标体系.docx

1、java绘图坐标体系java绘图坐标体系像素:计算机屏幕上显示的内容都是屏幕上的每一个像素组成。例如:计算机显示器的分辨率是800*600,表示计算机屏幕上的每一行由800个点组成,共有600行,整个计算机屏幕共有480000个像素。像素是一个密度单位,而厘米是长度单位,两者无法比较。绘图的原理Part1Component类提供了两个和绘图相关最重要的方法:paint(Graphics g):绘制组件的外观注意点:当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件。在以下情况会自动调用paint()方法:一:窗口最小化,再最大化。二:窗口的大小发生变化(注意是大小变化,

2、而不是移动窗口)三:repaint函数被调用:repaint():刷新组件的外观注意点:起到动感的作用。Graphics 类:Graphics 可以理解就是画笔,为我们提供各种绘制图形的方法:画直线drawLine(int x1,int y1,int x2,int y2);:画矩形边框drawRect(intx,inty,intwidth,int height);:画椭圆边框drawOval(intx,inty,intwidth,int height);:填充矩形fillRect(intx,inty,intwidth,int height);:填充椭圆fillOval(intx,inty,in

3、twidth,int height);:画图片drawImage(Image img,intx,int y,.);:画字符串drawString(String str,intx,int y);:设置画笔的字体setFont(Font font);:设置画笔的颜色setColor(Color c);举例如下:/* java绘图原理* 不能再JFrame上画图,但是可以在JPanel上画图*/package day0218;importjava.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Image

4、;import java.awt.Panel;import java.awt.Toolkit;importjavax.swing.JFrame;import javax.swing.JPanel;public class Demo18_1 extends JFrame MyPanelmp = null;public Demo18_1() mp=new MyPanel();this.add(mp);this.setSize(800, 800);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);pub

5、lic static void main(String args) Demo18_1 demo18_1=new Demo18_1();/ 定义一个MyPanel(是我自己的面板,是用于绘图和显示绘图的区域)class MyPanel extends JPanel / 覆盖JPanel的paint方法/ Graphics是绘图的重要类,你可以把他理解成一只画笔(可以画各种各样的)public void paint(Graphics g) / 调用父类函数完成初始化(这句话不能少,现在似乎可以不加,最好加上)super.paint(g);/ 画一个圆/g.drawOval(20, 20, 40,

6、40);/g.drawOval(70, 20, 40, 40);/画出直线/g.drawLine(40, 40, 90, 90);/画出矩形边框/g.drawRect(100, 100, 50, 30);/画出填充矩形 /设置颜色,若每次颜色不一样,每次都要设置/g.setColor(Color.green);/g.fillRect(150, 150, 60, 80);/g.setColor(Color.yellow);/g.fillRect(250, 250, 60, 80);/ /在面板上画出图片(要先准备张图片)/ Image im=Toolkit.getDefaultToolkit()

7、.getImage(Panel.class.getResource(/33.jpg);/ /显示图片 this指的是这里的JPanel/ g.drawImage(im, 90, 90, 356, 521, this); /设置画笔的颜色/g.setColor(Color.PINK);/g.setFont(new Font(华文琥珀, Font.BOLD, 55);/ /如何画字/g.drawString(林峰万岁, 100, 200);java事件处理机制采取的是“委派事件模型”,是指当事件发生(比如按了鼠标,按了键盘)的时候,产生事件的对象(即事件源),会把此信息传递给事件的监听者处理的一种

8、方式,而这里所说的信息实际上就是java.awt.evebt事件类库里某个类所创建的对象,我们暂时称之为事件的对象。小练习:点击不同的按钮,让面板的背景色发生相应的变化。代码如下:/* 讲解java中的事件处理机制* 理解:一个事件可以被多个类监听的* 一个类要实现监听的步骤* 1.实现相应的接口(KeyListener、MouseListener、ActionListener、WindowListener)* 2.把接口的处理方法根据需要重新编写(Override)* 3.在事件源注册监听* 4.时间传递是靠事件对象*/package day0218;importjava.awt.Borde

9、rLayout;import java.awt.Color;import java.awt.Graphics;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;importjavax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;public class Shijian extends JFrame implements ActionListener private static final long serialVe

10、rsionUID = 1L;/ 定义JPaneljp = null;JButton jb1, jb2;publicShijian() jp = new JPanel();jb1 = new JButton(黑色);jb2 = new JButton(红色);this.add(jb1, BorderLayout.NORTH);jp.setBackground(Color.gray);this.add(jp);this.add(jb2, BorderLayout.SOUTH);Cat mycat = new Cat();/ 注册监听jb1.addActionListener(this);jb1.a

11、ddActionListener(mycat);/ 指定action命令jb1.setActionCommand(aa);jb2.addActionListener(this);jb2.setActionCommand(bb);this.setSize(300, 300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);public static void main(String args) Shijiansj = new Shijian();Overridepublic void action

12、Performed(ActionEvent e) / 判断是哪个按钮被点击if (e.getActionCommand().equals(aa) /System.out.println(点击了黑色);jp.setBackground(Color.black); else if (e.getActionCommand().equals(bb) /System.out.println(点击了红色);jp.setBackground(Color.red);/ 若要让猫类监听,那么也要注册监听class Cat implements ActionListener Overridepublic void

13、 actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubif (arg0.getActionCommand().equals(aa) System.out.println(猫猫也知道你按了黑色按钮); else if (arg0.getActionCommand().equals(bb) System.out.println(猫猫也知道你按了红色按钮);/ class MyPanel extends JPanel / public void paint(Graphics g) / super.paint(g);/

14、/ 小练习:怎么让小球受到键盘的控制,上下左右移动。代码如下:/* 加深对事件处理机制的理解* 通过上下左右键,来控制小球的位置* 我自我感觉是谁实现了监听的,就是在注册监听中被监听的*/package day0218;importjava.awt.Graphics;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;importjavax.swing.JFrame;import javax.swing.JPanel;public class Shijian2 extends JFrame MyPanelmp=null;pu

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1