Java绘图技术基础
2024-09-08 06:22:55
public class Demo1 extends JFrame{
MyPanel mp=null; public static void main(String[] args){
Demo1 demo=new Demo1();
} public Demo1(){
mp=new MyPanel();
this.add(mp);
this.setSize(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
//定义一个MyPanel(我自己的面板,是用于绘图和显示绘图的区域)
class MyPanel extends JPanel{
//覆盖JPanel的paint方法
public void paint(Graphics g){ //Graphics是绘图的重要类,可以理解成一只画笔
//1、调用父类函数完成初始化(不可少)
super.paint(g);
// System.out.println("paint被调用");
g.drawOval(10, 10, 30, 30); //先画出一个圆
g.drawLine(10, 10,40, 40); // 画直线
g.drawRect(10, 10, 40, 60); //画矩形边框 g.setColor(Color.BLUE); //设置颜色
g.fillRect(70, 70, 40, 60); //填充矩形 g.setColor(Color.gray);
g.fillRect(150, 150, 30,40); //在面板上画出图片
Image im=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/imag_1"));
g.drawImage(im, 200, 200, 200, 150, this); //显示
//画出字体
g.setColor(Color.GREEN);
g.setFont(new Font("隶书",Font.BOLD,30));
g.drawString("祖国万岁!", 100, 80); }
}
1、Component类提供了两个和绘图相关最重要的方法
1)paint(Graphics g)绘制组件外观
2)repaint()刷新组件的外观
当组件第一次在屏幕显示时,程序会自动的调用paint()方法来绘制组件。
2、关于Graphics类
运行效果如下:
最新文章
- 深入理解JSONP原理——前端面试
- 关于linux下DB2创建数据库报错问题
- ORA-14402: 更新分区关键字列将导致分区的更改
- windows核心编程---第三章 内核对象及句柄本质
- Linux字符界面的优势
- 使用CuteSlider做网站炫酷的幻灯片
- 20145222黄亚奇《Java程序设计》第10周学习总结
- C# WinForm 中ComboBox数据绑定的问题 (转)
- [Err] 1449 - The user specified as a definer ('admin_isbox'@'localhost') does not exist
- 不能取组织ID
- windows批处理實例
- 【转载】B树、B-树、B+树、B*树
- Git点滴记录
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
- 程序设计之---单例模式VS静态方法
- Nginx技术进阶详讲
- Linux端口被占用的解决(附Python专版)
- Aquarium Tank(csu1634+几何+二分)Contest2087 - 湖南多校对抗赛(2015.05.24)-G
- SQL SERVER查询字段在哪个表里
- mongoose查询
热门文章
- BZOJ 4358 坑 莫队+线段树 死T
- vue中通过js控制页面样式方法
- 发现个很变态的css问题,记录下。
- hdu 3416 Marriage Match IV 【 最短路 最大流 】
- zookeeper+kafka集群搭建
- 11 个使用 GNOME 3 桌面环境的理由
- 利用UncaughtExceptionHandler捕获未try...catch到的异常
- 【XSY2968】线性代数
- 改变浏览器页面默认滚动条样式scrollbar
- [luogu4035 JSOI2008] 球形空间产生器 (矩阵 高斯消元)