【JAVA绘图】基于JFrame核心类


一、前言

JFrame类:

JFrame 是 Java Swing GUI 工具包中的一个核心类,它代表了一个主窗口,用于构建图形用户界面(GUI)应用程序。JFrame 继承自 Frame 类,并且添加了许多额外的功能和改进。JFrame 提供了创建、初始化和显示窗口的方法,并且它是 Swing 组件层次结构中的顶层容器。我们在使用基于JFrame类的时候,一定要引入swing包,之后继承即可以创建窗口界面。


二、窗口创建及简单绘图操作

代码如下(示例):

//首先我们应先创建基础面板

import javax.swing.*;
import java.awt.*;

@suppressWarnings({"all"})
public class XXX extends JFrame{

  //定义我的面板MyPanel
  MyPanel mp = null;
  public static void main(String[] args){
  
    new XXX();
  }
  
  public XXX() {//构造器
    //初始化
    mp = new MyPanel();
    //把面板放入到窗口中
    this.add(mp);
    //设置窗口大小
    this.setSize(400,300);
    //当点击窗口的❌时退出
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);//可以显示
  }
}

class MyPanel extends JPanel {
    //MyPanel是画板、Graphics g可以理解成画笔、Graphics提供了很多绘图的方法
    @Override
    public void paint(Graphics g) {//绘图方法
        super.paint(g);//调用父类的方法完成初始化.
        System.out.println("paint 方法被调用");
        //画出一个圆形.
        g.drawOval(10, 10, 100, 100);
        //画直线 drawLine(int x1,int y1,int x2,int y2)
        g.drawLine(10, 10, 100, 100);
        //画矩形边框 drawRect(int x, int y, int width, int height)
        g.drawRect(10, 10, 100, 100);
        //画椭圆边框 drawOval(int x, int y, int width, int height)
        //填充矩形 fillRect(int x, int y, int width, int height)
        //设置画笔的颜色
          g.setColor(Color.blue);
          g.fillRect(10, 10, 100, 100);

        //填充椭圆 fillOval(int x, int y, int width, int height)
          g.setColor(Color.red);
          g.fillOval(10, 10, 100, 100);

        //画图片 drawImage(Image img, int x, int y, ..)
        //获取图片资源, /xxx.png 表示在该项目的根目录去获取 xxx.png 图片资源
        Image image = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/xxx.png"));
        g.drawImage(image, 10, 10, 175, 221, this);
        //画字符串 drawString(String str, int x, int y)//写字
        //给画笔设置颜色和字体
        g.setColor(Color.red);
        g.setFont(new Font("隶书", Font.BOLD, 50));
        //这里设置的 100, 100, 是文字左下角
        g.drawString("你好", 100, 100);
        //设置画笔的字体 setFont(Font font)
        //设置画笔的颜色 setColor(Color c)


    }
}

三、总结

利用Java中的JFrame核心类的界面进行绘图操作一定程度上可以满足部分需求,但是操作上有一定的复杂性,欢迎关注wx公众号交流。

Alt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值