java图像界面开发简单实例-Graphics2D、Rectangle2D、Ellipse2D、Line2D的简单应用
来源:互联网 发布:2016伤感歌曲大全网络 编辑:程序博客网 时间:2024/05/17 22:05
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对象添加到窗体
DrawPanel panel = new DrawPanel();
add(panel);
}
public static void main(String[] args) {
Example5Frame frame = 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(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;//将Graphics对象转换为Graphics2D对象
//绘制矩形
double leftX = 100;//定义开始绘制的坐标
double topY = 100;
double width = 200;//定义绘制宽度
double height = 150;//定义绘制高度
Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, height);//创建矩形对象
g2.draw(rect);//将矩形对象绘制于Panel面板上
//绘制椭圆
Ellipse2D ellipse = new Ellipse2D.Double();//创建椭圆对象
ellipse.setFrame(rect);//设置椭圆的绘制框架为上面的矩形(即与矩形内接)
g2.draw(ellipse);//将椭圆对象绘制于Panel面板上
//绘制线条
Line2D line = 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;//定义圆的半径
Ellipse2D circle = new Ellipse2D.Double();
circle.setFrameFromCenter(centerX, centerY, centerX + radius, centerY + radius);//设置圆形的绘制框架(4个参数表示中心点坐标和角点坐标)
g2.draw(circle);//将圆形对象绘制于Panel面板上
}
}
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对象添加到窗体
DrawPanel panel = new DrawPanel();
add(panel);
}
public static void main(String[] args) {
Example5Frame frame = 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(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;//将Graphics对象转换为Graphics2D对象
//绘制矩形
double leftX = 100;//定义开始绘制的坐标
double topY = 100;
double width = 200;//定义绘制宽度
double height = 150;//定义绘制高度
Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, height);//创建矩形对象
g2.draw(rect);//将矩形对象绘制于Panel面板上
//绘制椭圆
Ellipse2D ellipse = new Ellipse2D.Double();//创建椭圆对象
ellipse.setFrame(rect);//设置椭圆的绘制框架为上面的矩形(即与矩形内接)
g2.draw(ellipse);//将椭圆对象绘制于Panel面板上
//绘制线条
Line2D line = 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;//定义圆的半径
Ellipse2D circle = new Ellipse2D.Double();
circle.setFrameFromCenter(centerX, centerY, centerX + radius, centerY + radius);//设置圆形的绘制框架(4个参数表示中心点坐标和角点坐标)
g2.draw(circle);//将圆形对象绘制于Panel面板上
}
}
如果需要绘制填充图形,只需要将draw方法改为fill方法即可,通过Graphics2D对象的setPaint方法可以设置相应的填充颜色
- java图像界面开发简单实例-Graphics2D、Rectangle2D、Ellipse2D、Line2D的简单应用
- java图像界面开发简单实例-JCheckBox、JLabel的应用
- java图像界面开发简单实例-JTextField、JPasswordField、JButton及事件的简单应用
- java图像界面开发简单实例-JButton及事件的简单应用
- java图像界面开发简单实例-JLabel,JFileChooser,JMenu应用
- java图像界面开发简单实例-JOptionPane应用
- java图像界面开发简单实例-JPanel应用
- java图像界面开发简单实例
- java图像界面开发简单实例-ImageIO、JFileChooser、JMenu、JPanel的应用
- java图像界面开发简单实例-JRadioButton、JCheckBox、JLabel的应用
- java图像界面开发简单实例-JTextArea、JScrollPane、JPanel、JButton应用实例
- Java(Graphics2D)简单绘图
- WebSphere MQ Java 应用开发简单实例
- Graphics2D简单示例
- Graphics2D简单示例
- java Spring的简单应用实例
- java中MongoDB的简单应用实例
- Hibernate应用简单实例开发
- 界面风格与测试的必要规则
- 测试用例设计如何避误
- 得到函数 RVA
- NBA中的1号位,2号位......是指什么?
- PE 文件格式(收藏)
- java图像界面开发简单实例-Graphics2D、Rectangle2D、Ellipse2D、Line2D的简单应用
- XSLT学习笔记
- 蒙牛牛根生语录:人不能把金钱带入坟墓,钱能把人带入坟墓。
- asp文件上传
- 理解collate Chinese_PRC_CI_AS NULL- -
- 临渊赠鱼,不如教人结网
- NetBeans问题,Cannot find java错误的解决办法和中文字体问题
- C#限制程序運行只有一個實例
- 让弹出的子窗口传递值给父窗口