java图像界面开发简单实例-Graphics2D、Rectangle2D、Ellipse2D、Line2D的简单应用

java图像界面开发简单实例

Graphics2D、Rectangle2D、Ellipse2D、Line2D的简单应用,原理为创建相应的图形对象,并设置图形的大小及相关设置,通过Graphics2D对象的draw方法将图形对象保存与JPanel面板中,代码如下:

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;

import javax.swing.JFrame;
import javax.swing.JPanel;

/**
*绘图相关对象Graphics2D、Rectangle2D、Ellipse2D、Line2D的简单应用实例
*
@author 左杰
*
*/

public class Example5Frame extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L ;

public Example5Frame(){
setTitle(
" 绘制图形 " ); // 设置窗体的标题
setSize( 400 , 400 ); // 设置窗体的大小
// 将定义的DrawPanel对象添加到窗体
DrawPanelpanel = new DrawPanel();
add(panel);
}

public static void main(String[]args){
Example5Frameframe
= new Example5Frame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(
true );
}
}

/**
*定义一个JPanel对象用于保存绘制的图形的设置
*/
class DrawPanel extends JPanel{
/**
*
*/
private static final long serialVersionUID = 1L ;

public void paintComponent(Graphicsg){
super .paintComponent(g);
Graphics2Dg2
= (Graphics2D)g; // 将Graphics对象转换为Graphics2D对象
// 绘制矩形
double leftX = 100 ; // 定义开始绘制的坐标
double topY = 100 ;
double width = 200 ; // 定义绘制宽度
double height = 150 ; // 定义绘制高度
Rectangle2Drect = new Rectangle2D.Double(leftX,topY,width,height); // 创建矩形对象
g2.draw(rect); // 将矩形对象绘制于Panel面板上
// 绘制椭圆
Ellipse2Dellipse = new Ellipse2D.Double(); // 创建椭圆对象
ellipse.setFrame(rect); // 设置椭圆的绘制框架为上面的矩形(即与矩形内接)
g2.draw(ellipse); // 将椭圆对象绘制于Panel面板上
// 绘制线条
Line2Dline = new Line2D.Double(leftX,topY,leftX + width,topY + height); // 创建线条对象(4个参数表示两个端点坐标)
g2.draw(line); // 将线条对象绘制于Panel面板上
// 绘制圆
double centerX = rect.getCenterX(); // 定义圆心坐标(以矩形的中心为圆心)
double centerY = rect.getCenterY();
double radius = 150 ; // 定义圆的半径
Ellipse2Dcircle = new Ellipse2D.Double();
circle.setFrameFromCenter(centerX,centerY,centerX
+ radius,centerY + radius); // 设置圆形的绘制框架(4个参数表示中心点坐标和角点坐标)
g2.draw(circle); // 将圆形对象绘制于Panel面板上
}
}

如果需要绘制填充图形,只需要将draw方法改为fill方法即可,通过Graphics2D对象的setPaint方法可以设置相应的填充颜色

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值