java 绘制长方形_Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...
控制臺程序。
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
}
其他部分與上一例相同。
Java基礎之在窗口中繪圖——繪制星星(StarApplet 1)
Applet程序. 可以把更復雜的幾何形狀定義為GeneralPath類型的對象.GeneralPath可以是直線.Quad2D曲線和Cubic2D曲線的結合體,甚至可以包含其他GeneralPath ...
Java基礎之在窗口中繪圖——繪制曲線(CurveApplet 1)
Applet程序. 定義自由曲線的類有兩個,其中一個定義二次曲線,另一個定義三次曲線.這些自由曲線是用一系列線段定義的參數化曲線.二次曲線段用方程定義,方程包含獨立變量x的平方.三次曲線也用方程定義, ...
Java基礎之在窗口中繪圖——繪制圓弧和橢圓(Sketcher 3 drawing arcs and ellipses)
控制臺程序. import javax.swing.JComponent; import java.util.*; import java.awt.*; import java.awt.geom.*; ...
Java基礎之在窗口中繪圖——利用多態性使用鼠標自由繪圖(Sketcher 7 with a crosshair cursor)
控制臺程序. 在Sketcher中創建形狀時,并不知道應該以什么順序創建不同類型的形狀,這完全取決于使用Sketcher程序生成草圖的人.因此需要繪制形狀,對它們執行其他操作而不必知道圖形是什么.當然 ...
Java基礎之在窗口中繪圖——使用模型/視圖體系結構在視圖中繪圖(Sketcher 1 drawing a 3D rectangle)
控制臺程序. 在模型中表示數據視圖的類用來顯示草圖并處理用戶的交互操作,所以這種類把顯示方法和草圖控制器合并在一起.不專用于某個視圖的通用GUI創建和操作在SketcherFrame類中處理. 模型對 ...
Java基礎之在窗口中繪圖——填充星型(StarApplet 2 filled stars)
Applet程序. import javax.swing.*; import java.awt.*; import java.awt.geom.GeneralPath; @SuppressWarnin ...
Java基礎之在窗口中繪圖——漸變填充(GradientApplet 1)
Applet程序. import javax.swing.*; import java.awt.*; import java.awt.geom.*; @SuppressWarnings("s ...
Java基礎之在窗口中繪圖——移動曲線的控制點(CurveApplet 3 moving the control points)
Applet程序. import javax.swing.*; import java.awt.*; import java.awt.geom.*; import javax.swing.event. ...
Java基礎之在窗口中繪圖——顯示曲線的控制點(CurveApplet 2 displaying control points)
Applet程序. import javax.swing.*; import java.awt.*; import java.awt.geom.*; @SuppressWarnings("s ...
隨機推薦
Ros與Vrep平臺搭建
參考資料: ROS安裝: ros 是一個framework 和Android有點像,內核用的linux.Ros提供了一種供機器人開發者迅速上手的一個平臺, 可以快速搭建自己的應用,利用ros下面自帶的 ...
Bug嚴重級別分類
BUG等級劃分,一般劃分為:嚴重BUG.較嚴重BUG.一般性BUG.建議性BUG A類—嚴重錯誤,包括以下各種錯誤: 1. 由于程序所引起的死機,非法退出 2. 死循環 3. 數據庫發生死鎖 4. 因 ...
C#中out的用法
out的用法 out?關鍵字會導致參數通過引用來傳遞.這與?ref?關鍵字類似,不同之處在于?ref?要求變量必須在傳遞之前進行初始化.若要使用?out?參數,方法定義和調用方法都必須顯式使用?out ...
CodeForces 489B (貪心 或 最大匹配) BerSU Ball
題意: 有m個男孩和n個女孩,每個人都有一個舞蹈熟練度,用一個不超過100的正整數來表示. 一個男孩和一個女孩能夠結為舞伴當且僅當兩人的熟練度相差不超過1. 問最多能結成多少對舞伴 分析: 這是一個二 ...
Word添加新編號
要用到(1)(2),不想手寫,但是word只有1.2.3和1)2)3),我就自定義哦.
【Electron】Electron開發入門
Electron簡介: Electron提供了豐富的本地(操作系統)的API,使你能夠使用純JavaScript來創建桌面應用程序,并且跨平臺(win,mac,linux等各種PC端平臺).與其它各種 ...
Android高級控件(四)——VideoView 實現引導頁播放視頻歡迎效果,超級簡單卻十分的炫酷
Android高級控件(四)--VideoView 實現引導頁播放視頻歡迎效果,超級簡單卻十分的炫酷 是不是感覺QQ空間什么的每次新版本更新那炫炫的引導頁就特別的激動,哈哈,其實他實現起來真的很簡單很 ...
python發送郵件腳本ssl 465端口
#coding:utf8 from smtplib import SMTP_SSL from email.header import Header from email.mime.text impor ...
PAT甲1004 Counting Leaves【dfs】
1004?Counting Leaves?(30 分) A family hierarchy is usually presented by a pedigree tree. Your job is ...
總結
以上是生活随笔為你收集整理的java 绘制长方形_Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: CTS测试总结
 - 下一篇: python开发温湿度显示界面_Pyth