java图像界面开发简单实例
Graphics2D、Rectangle2D、Ellipse2D、Line2D的简单应用,原理为创建相应的图形对象,并设置图形的大小及相关设置,通过Graphics2D对象的draw方法将图形对象保存与JPanel面板中,代码如下:
importjava.awt.Graphics;
importjava.awt.Graphics2D;
importjava.awt.geom.Ellipse2D;
importjava.awt.geom.Line2D;
importjava.awt.geom.Rectangle2D;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
/**
*绘图相关对象Graphics2D、Rectangle2D、Ellipse2D、Line2D的简单应用实例
*@author左杰
*
*/
publicclassExample5FrameextendsJFrame{
/**
*
*/
privatestaticfinallongserialVersionUID=1L;
publicExample5Frame(){
setTitle("绘制图形");//设置窗体的标题
setSize(400,400);//设置窗体的大小
//将定义的DrawPanel对象添加到窗体
DrawPanelpanel=newDrawPanel();
add(panel);
}
publicstaticvoidmain(String[]args){
Example5Frameframe=newExample5Frame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
/**
*定义一个JPanel对象用于保存绘制的图形的设置
*/
classDrawPanelextendsJPanel{
/**
*
*/
privatestaticfinallongserialVersionUID=1L;
publicvoidpaintComponent(Graphicsg){
super.paintComponent(g);
Graphics2Dg2=(Graphics2D)g;//将Graphics对象转换为Graphics2D对象
//绘制矩形
doubleleftX=100;//定义开始绘制的坐标
doubletopY=100;
doublewidth=200;//定义绘制宽度
doubleheight=150;//定义绘制高度
Rectangle2Drect=newRectangle2D.Double(leftX,topY,width,height);//创建矩形对象
g2.draw(rect);//将矩形对象绘制于Panel面板上
//绘制椭圆
Ellipse2Dellipse=newEllipse2D.Double();//创建椭圆对象
ellipse.setFrame(rect);//设置椭圆的绘制框架为上面的矩形(即与矩形内接)
g2.draw(ellipse);//将椭圆对象绘制于Panel面板上
//绘制线条
Line2Dline=newLine2D.Double(leftX,topY,leftX+width,topY+height);//创建线条对象(4个参数表示两个端点坐标)
g2.draw(line);//将线条对象绘制于Panel面板上
//绘制圆
doublecenterX=rect.getCenterX();//定义圆心坐标(以矩形的中心为圆心)
doublecenterY=rect.getCenterY();
doubleradius=150;//定义圆的半径
Ellipse2Dcircle=newEllipse2D.Double();
circle.setFrameFromCenter(centerX,centerY,centerX+radius,centerY+radius);//设置圆形的绘制框架(4个参数表示中心点坐标和角点坐标)
g2.draw(circle);//将圆形对象绘制于Panel面板上
}
}
如果需要绘制填充图形,只需要将draw方法改为fill方法即可,通过Graphics2D对象的setPaint方法可以设置相应的填充颜色
分享到:
相关推荐
XNA Tutorial Collision Series 1 - 2D Rectangle Collision
npm install --save @mapbox/mapbox-gl-draw mapbox-gl-draw-rectangle-restrict-area 用法 import MapboxDraw from "@mapbox/mapbox-gl-draw" ; import DrawRectangle , { DrawStyles , } from "mapbox-gl-draw-...
C#-矩形-Rectangle
商业编程-源码-Csharp实例18 rectangle.zip
18.5.2 Rectangle2D类 324 18.5.3 Ellipse2D类 325 18.5.4 GeneralPath类 326 18.6 渲染属性 327 18.6.1 Stroke属性 327 18.6.2 Paint属性 329 18.6.3 Composite属性 332 18.6.4 Transform属性 333 ...
Graphics2D g2D = (Graphics2D)g; setBackground(Color.white); setForeground(Color.black); int charH = 16; //最大字符高度 int gridW = getWidth() / 5; //绘图网格宽度 int gridH = getHeight...
npm install check-point-in-rectangle 用法 var checkPointIn = require ( 'check-point-in-rectangle' ) ; checkPointIn ( point , rectangle [ , precision ] ) x 和 y 坐标点数组四个角点的矩形数组算法中...
Qt5开发及实例,实例CH1908,使用Anchor布局一组矩形元素,并测试锚的特性,运行效果如图19.19所示。 实现步骤如下。 (1)新建QML应用程序,项目名称为“Anchor”。 (2)将前面实例CH1905和CH1906中的源文件:Button...
rectangle : Press 'r' square : Press 's' circle : Press 'c' To draw any of the figure, click on the canvas whereever you want to draw it In mode 1: To select an object click on it using the left ...
Qt5开发及实例,实例CH1902,在窗口中绘制矩形,运行效果如图19.7所示。 实现步骤如下。 (1)新建QML应用程序,项目名称为“Rectangle”。 (2)双击项目视图打开MainForm.ui.qml文件,修改代码如下: (3)双击打开...
function optseg = CSP2d_rectangle a=203; b=114.5; L=2799 ; W=1500; l=2*a; w=2*b; % L=4000; % W=1500; % l=215; % w=154; % L=10.1; % W=6.2; % l=2.1; % w=1.2; blnk=16; nmax=100; crcn=5; WL=[L 0]; % % %...
GeoJSON的最小边界矩形 此Javascript / Typescript库提供了两种方法,...yarn add geojson-minimum-bounding-rectangle 或者 npm install geojson-minimum-bounding-rectangle 用法 import { smallestSurroundingRec
RoundRectangle2D.Float r2d=new RoundRectangle2D.Float(0,0,w-1,h-1,20,20); Shape clip=g2d.getClip(); g2d.clip(r2d); GradientPaint gp=new GradientPaint(0.0F,0.0F,BUTTON_COLOR1,0.0F,h,BUTTON_COLOR...
Implement-an-Interface-to-Change-Rectangle-Dimensions
2.图像滤波-filter2D() 3.图像卷积-filter2D() 4.图像转换-cvtColor() 5.sobel算子-Sobel() 6.图像运算-addWeighted() 7.图像指针-.at(row, col)[0]方法 8.图形绘制-rectangle() 9.字符打印-putText() 10.图像滤波-...
- Line.java - Circle.java - Triangle.java - Rectangle.java - Polygon.java - Graph.java - Main.java 该项目基于JAVA语言,实现了基本的图形绘制功能,包括点、线、圆、三角形、矩形和多边形等。该项目...
java 实验 继承与多态rectAngle 定义矩形类,用户输入矩形的长与宽,程序计算其面积和周长;派生子类正方形类,定义一个接口Printable源代码
1、定义Point2D,及定义它的属性和方法; 2、定义抽象类Shape,抽象方法为showArea(),再定义矩形类Rectangle,正方形类Square,圆类 Circle,和各自的属性。定义主类、主方法,在main方法中构造3个对象,调用showArea...
RoundRectangle2D.Float r2d=new RoundRectangle2D.Float(0, 0, btnWidth - 1, btnHeight - 1, 20, 20); Shape clip=g2d.getClip(); g2d.clip(r2d); GradientPaint paint = new GradientPaint(0.0F,0.0F,...
java代码-使用java解决Square,Circle继承Shape类,Rectangle继Square的源代码 ——学习参考资料:仅用于个人学习使用!