当前位置: 首页 > 编程笔记 >

Java绘图技术基础(实例讲解)

蓝泰平
2023-03-14
本文向大家介绍Java绘图技术基础(实例讲解),包括了Java绘图技术基础(实例讲解)的使用技巧和注意事项,需要的朋友参考一下

如下所示:

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类

运行效果如下:

以上这篇Java绘图技术基础(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍PHP bin2hex()函数基础实例讲解,包括了PHP bin2hex()函数基础实例讲解的使用技巧和注意事项,需要的朋友参考一下 PHP bin2hex() 函数 实例 把 "Hello World!" 转换为十六进制值: 定义和用法 bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。 语法 实例 1 把一个字符

  • 本文向大家介绍python绘制雷达图实例讲解,包括了python绘制雷达图实例讲解的使用技巧和注意事项,需要的朋友参考一下 在python中,有很多用于生成基于JS的百度开源的数据可视化图表 Echarts 的类库。设置的图样都非常漂亮,小编之前研究过很多图示,用python去抓取数据,然后进行画图,经历这么多得图样,最深有感触的还是关于绘制雷达图,大家应该都遇到过需要用到雷达图的时候吧,那就一起

  • 一天后更新: 我凌晨12. HR打电话约二面了,约了下周一 菩萨保佑🙏 写面经攒人品!!! 时长 1hour 刚上来没有自我介绍,直接开问 1问了之前在百度做了啥实习干了啥 解决了什么问题 2问了quartz,quartz原理(简单说了一下,面试官说他也不是很了解) 3问了ES,都是很笼统的问题。围绕项目 4字典树怎么实现的,怎么用的 5项目中用了哪些设计模式 6怎么用的redis,解决了什么问

  • 本文向大家介绍Servlet会话技术基础解析,包括了Servlet会话技术基础解析的使用技巧和注意事项,需要的朋友参考一下 一、cookie 1、设置cookie,内容为时间 2、获得cookie信息 二、session(getSession()——>session30分钟未使用) 1、设置session 2、得到session 3、session配置,配置时间 4、session摧毁 5、使用地

  • 自由软件项目依赖于选择性捕获和信息集成的技术。对这些技术的使用越是熟练,并说服别人去使用这些技术,你的项目就越成功。随着项目的成长,这一点愈发正确。好的信息管理系统应该能够防止开源项目在布鲁克法则的重压下崩塌[12] ,也就是说向一个已经延期的项目增加人力,只能使项目延期更多。佛雷德·布鲁克观察到,项目的复杂性同参与人员数量的平方成正比。当项目中只有少数几个人时,大家可以容易的互相交谈,但当有上百

  • 本文向大家介绍javascript事件的传播基础实例讲解(35),包括了javascript事件的传播基础实例讲解(35)的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js事件的传播,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。