Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...
控制台程序。
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 23 g2D.setPaint(Color.RED); // Draw in red 24 25 // Position width and height of first rectangle 26 Point2D.Float p1 = new Point2D.Float(50.0f, 10.0f); 27 float width1 = 60; 28 float height1 = 80; 29 30 // Create and draw the first rectangle 31 Rectangle2D.Float rect = new Rectangle2D.Float(p1.x, p1.y, width1, height1); 32 g2D.draw(rect); 33 34 // Position width and height of second rectangle 35 Point2D.Float p2 = new Point2D.Float(150.0f, 100.0f); 36 float width2 = width1 + 30; 37 float height2 = height1 + 40; 38 39 // Create and draw the second rectangle 40 g2D.draw(new Rectangle2D.Float( 41 (float)(p2.getX()), (float)(p2.getY()), width2, height2)); 42 g2D.setPaint(Color.BLUE); // Draw in blue 43 44 // Draw lines to join corresponding corners of the rectangles 45 Line2D.Float line = new Line2D.Float(p1,p2); 46 g2D.draw(line); 47 48 p1.setLocation(p1.x + width1, p1.y); 49 p2.setLocation(p2.x + width2, p2.y); 50 g2D.draw(new Line2D.Float(p1,p2)); 51 52 p1.setLocation(p1.x, p1.y + height1); 53 p2.setLocation(p2.x, p2.y + height2); 54 g2D.draw(new Line2D.Float(p1,p2)); 55 56 p1.setLocation(p1.x - width1, p1.y); 57 p2.setLocation(p2.x - width2, p2.y); 58 g2D.draw(new Line2D.Float(p1, p2)); 59 60 g2D.drawString("Lines and rectangles", 60, 250); // Draw some text 61 62 } 63 64 private Sketcher theApp; // The application object 65 }
其他部分与上一例相同。
转载于:https://www.cnblogs.com/mannixiang/p/3488339.html
Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...相关推荐
- java 绘制长方形_Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...
控制台程序. import javax.swing.JComponent; import java.util.*; import java.awt.*; import java.awt.geom.*; ...
- Java基础之在窗口中绘图——绘制圆弧和椭圆(Sketcher 3 drawing arcs and ellipses)
控制台程序. 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 ...
- Qt绘制直线、矩形、圆
Qt绘制直线.矩形.圆 新建一个Qt Widgets Application工程 添加头文件 #include <QPainter> 添加paintEvent函数,代码如下: void M ...
- iOS 画线 绘制直线、矩形、三角形
转载:http://bravoo.diandian.com/ 在UIView中绘制直线.矩形.三角形 直线 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 ...
- JAVA基础(持续更新中)
JAVA基础 2020年11月27日 21:01 1 预科 a. 什么是计算机 能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备. 由硬件常见的形式有台式计算机.笔记本计算机.大型计算机等 ...
- java用中点画圆法_OpenGL通过中点法绘制直线和圆
#include #include static int i=1; void Initial(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); //设置窗口背 ...
最新文章
- Java主要知识结构
- solr/solrj原子更新
- C语言学生学籍管理系统 链表+存储数据到文档
- 计算Gaunt积分 m1m2<0
- UIDynamicBehavior的行为类翻译
- RabbitMQ消费消息幂等性问题
- 后置处理器----JSON提取器
- Vue:触发视图更新的hack
- 这大概是今年最值得推荐的“数据分析工具”
- 脑波控制机械手,双手打字也无法自证清白| Science Robotics
- atitit.RESTful服务的概览and框架选型
- django 序列化组件Serializer
- EGO Swarm翻译
- 学习mysql比较好一些书籍
- 商城超卖问题的几种解决方案
- 一文讲清楚什么是类型化数组、ArrayBuffer、TypedArray、DataView等概念
- 2022/03/03js作业第一个不同宽度变色第二个是输入几年几月几日判断是今年的第几天(不算闰年2月为28日)
- Maven当中resources标签的用法
- 安卓手机怎么删除html文件,安卓手机如何打开和删除7z文件?
- BI分析工具选型:从PowerBI到FineBI的9个理由!