Java基础之在窗口中绘图——绘制圆弧和椭圆(Sketcher 3 drawing arcs and ellipses)
控制台程序。
1 import javax.swing.JComponent; 2 import java.util.*; 3 import java.awt.*; 4 import java.awt.geom.*; 5 6 @SuppressWarnings("serial") 7 public class SketcherView extends JComponent implements Observer { 8 public SketcherView(Sketcher theApp) { 9 this.theApp = theApp; 10 } 11 12 // Method called by Observable object when it changes 13 public void update(Observable o, Object rectangle) { 14 // Code to respond to changes in the model... 15 } 16 17 // Method to draw on the view 18 @Override 19 public void paint(Graphics g) { 20 // Temporary code... 21 Graphics2D g2D = (Graphics2D)g; // Get a Java 2D device context 22 Point2D.Double position = new Point2D.Double(50,10); // Initial position 23 double width = 150; // Width of ellipse 24 double height = 100; // Height of ellipse 25 double start = 30; // Start angle for arc 26 double extent = 120; // Extent of arc 27 double diameter = 40; // Diameter of circle 28 29 // Define open arc as an upper segment of an ellipse 30 Arc2D.Double top = new Arc2D.Double(position.x, position.y, 31 width, height, 32 start, extent, 33 Arc2D.OPEN); 34 35 // Define open arc as lower segment of ellipse shifted up relative to 1st 36 Arc2D.Double bottom = new Arc2D.Double( 37 position.x, position.y - height + diameter, 38 width, height, 39 start + 180, extent, 40 Arc2D.OPEN); 41 42 // Create a circle centered between the two arcs 43 Ellipse2D.Double circle1 = new Ellipse2D.Double( 44 position.x + width/2 - diameter/2,position.y, 45 diameter, diameter); 46 47 // Create a second circle concentric with the first and half the diameter 48 Ellipse2D.Double circle2 = new Ellipse2D.Double( 49 position.x + width/2 - diameter/4, position.y + diameter/4, 50 diameter/2, diameter/2); 51 52 // Draw all the shapes 53 g2D.setPaint(Color.BLACK); // Draw in black 54 g2D.draw(top); 55 g2D.draw(bottom); 56 57 g2D.setPaint(Color.BLUE); // Draw in blue 58 g2D.draw(circle1); 59 g2D.draw(circle2); 60 g2D.drawString("Arcs and ellipses", 80, 100); // Draw some text 61 62 } 63 64 private Sketcher theApp; // The application object 65 }
其他部分与上一例同。
转载于:https://www.cnblogs.com/mannixiang/p/3488364.html
Java基础之在窗口中绘图——绘制圆弧和椭圆(Sketcher 3 drawing arcs and ellipses)相关推荐
- java 绘制长方形_Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...
控制台程序. import javax.swing.JComponent; import java.util.*; import java.awt.*; import java.awt.geom.*; ...
- Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...
控制台程序. 1 import javax.swing.JComponent; 2 import java.util.*; 3 import java.awt.*; 4 import java.awt ...
- Java基础之在窗口中绘图——利用多态性使用鼠标自由绘图(Sketcher 7 with a crosshair cursor)...
控制台程序. 在Sketcher中创建形状时,并不知道应该以什么顺序创建不同类型的形状,这完全取决于使用Sketcher程序生成草图的人.因此需要绘制形状,对它们执行其他操作而不必知道图形是什么.当然 ...
- Java基础之在窗口中绘图——使用模型/视图体系结构在视图中绘图(Sketcher 1 drawing a 3D rectangle)...
控制台程序. 在模型中表示数据视图的类用来显示草图并处理用户的交互操作,所以这种类把显示方法和草图控制器合并在一起.不专用于某个视图的通用GUI创建和操作在SketcherFrame类中处理. 模型对 ...
- Visual C++ 2008入门经典 第十五章 在窗口中绘图
/*第十五章 在窗口中绘图 主要内容: 1 Windows为窗口绘图提供的坐标系统 2 设置环境及其必要性 3 程序如何以及在窗口中绘图 4 如何定义鼠标消息的处理程序 5 如何定义自己的形状类 6 ...
- JAVA基础(持续更新中)
JAVA基础 2020年11月27日 21:01 1 预科 a. 什么是计算机 能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备. 由硬件常见的形式有台式计算机.笔记本计算机.大型计算机等 ...
- cad怎么绘制大样图_浩辰CAD看图王电脑版中怎么绘制圆弧?
有些小伙伴在使用浩辰CAD看图王电脑版编辑图纸的时候,找不到绘制圆弧的工具该怎么办呢?接下来就给大家介绍一下浩辰CAD看图王电脑版中绘制圆弧的操作教程吧! 在浩辰CAD看图王电脑版中,提供的绘图功能有 ...
- Java基础:IO 流中的 flush
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点 这里 可以跳转到教程. 内容概要 Java IO ...
- Java基础核心总结(编辑中)
Java概述 什么是Java? Java是Sun Microsystems于1995年首次发布的一种编程语言和计算平台.编程语言还比较好理 解,那么什么是计算平台呢? 计算平台是在电脑中运行应用程序( ...
最新文章
- VTK:图片之ImageConvolve
- 深度学习之早停策略EarlyStopping以及保存测试集准确率最高的模型ModelCheckpoint
- java面试题8 牛客:在Web应用程序中,( )负责将HTTP请求转换为HttpServletRequest对象
- PHP云尚发卡,云尚发卡1.5.7添加(极客支付)
- flume1.8实现hdfsSink整点滚动文件
- Codeforces Round #698 (Div. 2) (思维)
- mysqlinnodb教程_mysql系列教程 - innodb锁
- 算法(四)、时间复杂度、排序、查找
- f-stack中ipc传递指针从应用中读取信息时挂掉
- eda交通灯控制器波形输入_【EDA课程设计】基于VHDL十字路口交通灯控制电路
- 你和你的女神之间,差了一个OpenCV口红色号识别器,android开发环境的搭建步骤
- Excel-如何隐藏/显示某些行项目或者列项目?
- css 如何选择同一个class下的第一个div?
- 上海亚商投顾:沪指高开低走 钠离子电池、储能概念崛起
- python读取word文档中的图片_【Python 3 获取Word所有图片】
- 服务器租用过程中网站被黑,怎么解决这种情况?
- 计算机中的无线网卡使用哪两种类型的扩展槽,第三章计算机每一种扩展槽的相关信息.ppt...
- gogland跨平台编译
- Python文件,照片批量重命名脚本
- VJ简单搜索题组题解