JAVA学习绘图颜色及其笔画属性设置字体显示文字

package com.graphics;

import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.util.Date;

import javax.swing.*;

/**
 * 
 * @author biexiansheng
 *
 */
public class DrawString extends JFrame{

    private Shape rect;//矩形对象
    private Font font;//字体对象
    private Date date;//当前日期对象
    public DrawString(){
        rect=new Rectangle2D.Double(10, 10, 200, 80);
        font=new Font("宋体",Font.BOLD,16);
        date=new Date();
        this.setSize(230,140);//设置窗体的大小
        //设置窗体的关闭方式
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        add(new CanvasPanel());//设置窗体面板为绘图面板对象
        this.setTitle("绘图文本");//设置窗体标题
    }
    class CanvasPanel extends JPanel{
        public void paint(Graphics g){
            super.paint(g);
            Graphics2D g2=(Graphics2D)g;//强制类型转换
            g2.setColor(Color.CYAN);//设置当前绘图颜色
            g2.fill(rect);//填充矩形
            g2.setColor(Color.blue);//设置当前绘图颜色
            g2.setFont(font);//设置字体
            g2.drawString("现在的时间是", 20, 30);//绘制文本
            g2.drawString(String.format("%tr", date), 50, 60);//绘制事件文本
        }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        DrawString ds=new DrawString();//
        ds.setVisible(true);
    }

}

实例运行结果如下

package com.graphics;

import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;

import javax.swing.JFrame;
import javax.swing.WindowConstants;

/**
 * 1:绘制图片
 *绘图类不仅可以绘制图形和文本,还可以使用drawImage()方法将图片资源显示到绘图上下文中
 *而且可以实现各种特效处理,如图片的缩放,翻转等
 *语法如下
 *drawImage(Image img,int x,int y,ImageObserver observer);
 *该方法将img图片放到x,y指定位置上面,observer是要通知的图像观察者 
 */

public class DrawImage extends JFrame {

    Image img;
    public DrawImage(){
        URL url=DrawImage.class.getResource("1.jpg");//获取图片资源的路径
        img=Toolkit.getDefaultToolkit().getImage(url);//获取图片资源
        this.setSize(250, 200);//设置窗体的大小
        //设置窗体的关闭方式
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        add(new CanvasPanel());//设置窗体面板为绘图面板对象
        this.setTitle("绘图图片");
    }
    class CanvasPanel extends Canvas{
        public void paint(Graphics g){
            super.paint(g);
            Graphics2D g2=(Graphics2D)g;
            g2.drawImage(img,0,0,this);//显示图片
        }
        
    } 
    public static void main(String[] args) {
        DrawImage di=new DrawImage();//
        di.setVisible(true);
    }
}

绘制图片实例运行结果如下

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android先生

android自定义view(自定义数字键盘)

至此,我们写的差不多了,然后就是要提供一个接口,对外开放,方便用的时候调用,获取到数字或者其他信息:

912
来自专栏androidBlog

Android 圆形头像的两种实现方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/de...

590
来自专栏IT派

机器学习实战之Python3实现决策树算法

导语:今天这篇文章也是我们的志愿编辑写出来的文章哦,稳重介绍了如何在python3中实现自己的决策树算法并画出来!另外,小编Tom邀请你一起搞事情! 预备知识:...

3645
来自专栏机器学习养成记

关联分析(3):Apriori R语言实现

我们对UCI机器学习库上下载的美国众议院议员投票记录数据,进行关联分析。在R中,可以直接调用arules包中的apriori()函数训练模型。

782
来自专栏PPV课数据科学社区

[V课堂]R语言十八讲(七)

? R的画图功能是非常强大的,这非常有利于数据可视化,对于R画图,我们一 般使用三个画图系统,分别是R自带的画图系统,另外还有两个包,他们的画图功能也很强...

2666
来自专栏数据处理

图片RGB三维矩阵的表示

2311
来自专栏AI科技大本营的专栏

OpenCV特征提取与图像检索实现(附代码)

翻译 | AI科技大本营 参与 | 张蔚敏 审校 | reason_W “拍立淘”“一键识花”“街景匹配”……不知道大家在使用这些神奇的功能的时候,有没有好奇过...

3646
来自专栏一“技”之长

Cocos2d-x-v3场景切换 原

        cocos2d中场景的切换采用的是包装的思想,通过创建一个专场效果类,将需要专场的场景进行包装。代码示例如下:

301
来自专栏技术小黑屋

自定义View:Padding与绘制内容

有些时候,扩展Android框架提供的view并不能很好地解决问题。很多情况下,我们需要进行view绘制来实现想要的效果。本文我们将介绍如何使用Canvas绘制...

562
来自专栏Android干货

自定义控件:数独游戏(一)

2778

扫码关注云+社区