控制台程序。

 import javax.swing.JComponent;
import java.util.*;
import java.awt.*;
import java.awt.geom.*; @SuppressWarnings("serial")
public class SketcherView extends JComponent implements Observer {
public SketcherView(Sketcher theApp) {
this.theApp = theApp;
} // Method called by Observable object when it changes
public void update(Observable o, Object rectangle) {
// Code to respond to changes in the model...
} // Method to draw on the view
@Override
public void paint(Graphics g) {
// Temporary code...
Graphics2D g2D = (Graphics2D)g; // Get a Java 2D device context g2D.setPaint(Color.RED); // Draw in red // Position width and height of first rectangle
Point2D.Float p1 = new Point2D.Float(50.0f, 10.0f);
float width1 = 60;
float height1 = 80; // Create and draw the first rectangle
Rectangle2D.Float rect = new Rectangle2D.Float(p1.x, p1.y, width1, height1);
g2D.draw(rect); // Position width and height of second rectangle
Point2D.Float p2 = new Point2D.Float(150.0f, 100.0f);
float width2 = width1 + 30;
float height2 = height1 + 40; // Create and draw the second rectangle
g2D.draw(new Rectangle2D.Float(
(float)(p2.getX()), (float)(p2.getY()), width2, height2));
g2D.setPaint(Color.BLUE); // Draw in blue // Draw lines to join corresponding corners of the rectangles
Line2D.Float line = new Line2D.Float(p1,p2);
g2D.draw(line); p1.setLocation(p1.x + width1, p1.y);
p2.setLocation(p2.x + width2, p2.y);
g2D.draw(new Line2D.Float(p1,p2)); p1.setLocation(p1.x, p1.y + height1);
p2.setLocation(p2.x, p2.y + height2);
g2D.draw(new Line2D.Float(p1,p2)); p1.setLocation(p1.x - width1, p1.y);
p2.setLocation(p2.x - width2, p2.y);
g2D.draw(new Line2D.Float(p1, p2)); g2D.drawString("Lines and rectangles", 60, 250); // Draw some text } private Sketcher theApp; // The application object
}

其他部分与上一例相同。

最新文章

  1. 用 JSP 实现对文件的相关操作
  2. SignalR 2.1 简单入门项目
  3. DUT Star Round2
  4. HTML标签----图文详解
  5. Git 使用规范流程
  6. Windows 2008 R2防火墙,允许被ping
  7. html之head,base,meta,title
  8. ThinkPHP连接sql server数据库
  9. VB 读取csv文件数据
  10. Flex +WebService
  11. Apple MDM Supported configurable settings
  12. 百度地图API的调用
  13. openshif ssh proxy
  14. tomcat-theory
  15. Python应用——自定义函数:分割PDF文件函数
  16. 动态参数(*args,**kwargs),命名空间和作用域,global和nonlocal,函数的嵌套
  17. HDU 1517 A Multiplication Game (SG函数找规律)
  18. JVM知识
  19. 论mysql主从复制里面的那些坑
  20. Oracle截取字符串函数和查找字符串函数,连接运算符||

热门文章

  1. 360浏览器 默认IE7渲染的解决
  2. linux 下 sudo 指令不需要输入密码的配置
  3. sql2008以上行转列的方法
  4. Java设计模式-单例模式(Singleton)
  5. javascript日用代码集合(一)
  6. Visual C++ 64bit应用程序项目设置
  7. Xcode调试时查看变量的方法
  8. 201521123080《Java程序设计》第13周学习总结
  9. 《编程语言实现模式》【PDF】下载
  10. Linux:Linux Mint系统的安装
  11. linux之文件权限+用户权限
  12. pymongo
  13. PHP 获取文件扩展名的五种方式
  14. centos如何安装tomcat
  15. vivado2015.4 simulator 存储所有信号到 .wdb 文件 并打开波形文件查看波形
  16. python webdriver api-右键另存下载文件
  17. vi如何修改注释颜色
  18. linux下精确替换某个字符串
  19. 详解 MNIST 数据集
  20. spi 总线协议记录