Java绘图原理(一) Graphics的各种。。
2016-06-02 17:36
696 查看
Graphics 类是所有图形上下文的抽象基类,允许应用程序在组件(已经在各种设备上实现)以及闭屏图像上进行绘制。
Graphics类你可以理解就是画笔,为我们提供了各种绘制图形的方法:[多看jdk帮助文档]
1、画直线 drawLine(int x1,int y1,int x2,int y2);
2、画矩形边框 drawRect(int x,int y,int width,int height);
3、画椭圆边框 drawOval(int x,int y,int width,int height);
4、填充矩形 fillRect(int x,int y,int width,int height);
5、填充椭圆 fillOval(int x,int y,int width,int height);
6、画图片 drawImage(Image img.int x,int y,..);
7、画字符串 drawString(String str,int x,int y);
8、设置画笔的字体 setFont(Font font);
9、设置画笔的颜色 setColor(Color c);
功能:Java绘图原理
* Component提供了两个和绘图相关的重要方法
* 1. paint(Graphics g)绘制组件的外观
* 2.repaint刷新组建的外观
* 二、
* 在以下情况paint()会被调用
* 1.窗口最小化再最大化
* 2.窗口的大小发生变化
* 3.repaint函数被调用
这里我们在自定义类MyPanel中覆盖paint()
画出来就是下面这个鬼样子(随便画画就好):
那么接下来如果想要用这个MyPanel绘制一个图片也不难,就是将MyPanel的构造函数改为下面即可:
随便放一张了~
下面就是写文字了:
是不是满满的正能量?
Graphics类你可以理解就是画笔,为我们提供了各种绘制图形的方法:[多看jdk帮助文档]
1、画直线 drawLine(int x1,int y1,int x2,int y2);
2、画矩形边框 drawRect(int x,int y,int width,int height);
3、画椭圆边框 drawOval(int x,int y,int width,int height);
4、填充矩形 fillRect(int x,int y,int width,int height);
5、填充椭圆 fillOval(int x,int y,int width,int height);
6、画图片 drawImage(Image img.int x,int y,..);
7、画字符串 drawString(String str,int x,int y);
8、设置画笔的字体 setFont(Font font);
9、设置画笔的颜色 setColor(Color c);
功能:Java绘图原理
* Component提供了两个和绘图相关的重要方法
* 1. paint(Graphics g)绘制组件的外观
* 2.repaint刷新组建的外观
* 二、
* 在以下情况paint()会被调用
* 1.窗口最小化再最大化
* 2.窗口的大小发生变化
* 3.repaint函数被调用
这里我们在自定义类MyPanel中覆盖paint()
package Test0; import java.awt.*; import javax.swing.*; public class Draw extends JFrame { MyPanel mp = null ; public static void main(String[] args) { // TODO Auto-generated method stub Draw qwe = new Draw(); } public Draw() { mp = new MyPanel(); this.add(mp); this.setSize(400,300); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class MyPanel extends JPanel //我自己的面板,用于绘图和实现绘图区域 { //覆盖JPanel的paint方法 //Graphics是绘图的重要类,可以理解成一支画笔 public void paint(Graphics g) { //1.调用父类函数完成初始化 super.paint(g); //这句话不能少 //System.out.println("被调用"); //证明别调用 //画圆 g.drawOval(10, 10, 30, 30); //画直线 g.drawLine(20, 30, 20, 80); //画出矩形边框 g.drawRect(50, 50, 100, 50); //画填充矩形 g.setColor(Color.BLUE); //设置颜色 g.fillRect(80,60,40,60); } }
画出来就是下面这个鬼样子(随便画画就好):
那么接下来如果想要用这个MyPanel绘制一个图片也不难,就是将MyPanel的构造函数改为下面即可:
Image im = Toolkit.getDefaultToolkit().getImage (Panel.class.getResource("/mm.jpg")); g.drawImage(im, 0, 0, 240, 280, this); //this代指JPanel本身,意思是把图片放这上面
随便放一张了~
下面就是写文字了:
g.setColor(Color.BLUE); g.setFont(new Font("华文彩云",Font.BOLD,30)); g.drawString("社会主义好", 100, 100); //第一个参数你要画出什么东西,后面两个是位置
是不是满满的正能量?
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序