一、前言
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公众号交流。