日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java graphics类详解_java 基础二 Graphics类

發(fā)布時(shí)間:2023/12/18 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java graphics类详解_java 基础二 Graphics类 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、處理圖形

1.畫(huà)直線(xiàn)

void drawLine (int startx , int starty , int endx , int endy)

參數(shù)列表:直線(xiàn)開(kāi)始的橫坐標(biāo)、縱坐標(biāo),直線(xiàn)結(jié)束的橫坐標(biāo)、縱坐標(biāo)。

2.畫(huà)矩形

1) 矩形邊框:void drawRect(int top , int left , int width , int height )

2) 實(shí)心矩形 :void fillRect(int top , int left , int width , int height)

參數(shù)列表:矩形的左上角坐標(biāo)(x,y),寬度和高度。

3.圓角矩形

1) 圓角矩形邊框 : void drawRoundRect(int top , int left , int width , int height , int xDiam , int yDiam)

2 )實(shí)心圓角矩形void fillRoundRect(int top , int left , int width , int height , int xDiam , int yDiam)

參數(shù)列表 :圓角矩形的左上角坐標(biāo),寬度,高度,X軸上的弧度,Y軸上的弧度

4.畫(huà)橢圓和圓形

1)空心圓:void drawOval(int top , int left , int width , int height)

2)實(shí)心圓:void fillOval(int top , int left , int width , int height)

參數(shù)列表 :左上角坐標(biāo),寬,高

5.畫(huà)圓弧

1)空心圓弧:void drawArc(int top , int left , int width , int height , int startAngle , int sweepAngle);

2)實(shí)心圓弧: void fillArc(int top , int left , int width , int height , int startAngle , int sweepAngle);

參數(shù)列表 :在左上角坐標(biāo)為(top , left)寬為width 高為 height的矩形中畫(huà)圓弧 ,startAngle是與3點(diǎn)鐘的角度 ,sweepAngel是與startAngle的角度。

6.畫(huà)多邊形

1)空心多邊形:void drawP

2)實(shí)心多邊形:

import java.awt.Frame;

import java.awt.Panel;

import java.awt.Graphics;

import java.awt.Color;

public class Test04{

public static void main(String[] args){

Frame f = new Frame();

f.setSize(1000,1000);

MyPanel mp = new MyPanel();

f.add(mp);

f.show();

}

}

class MyPanel extends Panel{

public void paint(Graphics g){

g.drawLine(100,50,100,100);

g.drawString("Hello World !",120,100);

g.setColor(Color.green);

g.drawRect(100,100,200,100);

g.fillRect(350,100,200,100);

g.drawRoundRect(600,100,200,100,50,50);

g.fillRoundRect(850,100,200,100,20,100);

g.drawOval(100,250,100,100);

g.fillOval(250,250,80,100);

g.drawArc(350,250,100,100,0,90);

g.fillArc(450,250,100,100,0,90);

g.fillArc(550,250,100,100,10,80);

}

}

二、Graphics類(lèi)的應(yīng)用

1、繪制五角星

import java.awt.Frame;

import java.awt.Color;

import java.awt.Graphics;

import java.awt.Panel;

import java.math.*;

public class Test02

{

public static void main(String[] args)

{

Frame f = new Frame();

f.setSize(1000,1000);

f.setBackground(Color.black);

MyPanel mp = new MyPanel();

f.add(mp);

f.show();

}

}

class MyPanel extends Panel

{

public void paint(Graphics g)

{

double xA= 2 , yA= 2 , c = 2,j36,j18,j54;

double xB ,yB ,xC,yC,xD ,yD,xE ,yE,xf,yf,xg,yg;

j36 = Math.toRadians(36);//轉(zhuǎn)化成角度

j18 = Math.toRadians(18);

j54 = Math.toRadians(54);

xB = xA+c*Math.cos(j36);

yB = yA-c*Math.sin(j36);

xC = xA+2*c*Math.cos(j36);

yC = yA;

xD = xA+c*Math.sin(j18);

//System.out.println("xD ="+xD+" c*Math.sin(18)"+c*Math.sin(18) );

yD = yA+c*Math.cos(j18);

xE = xC - c*Math.sin(j18);

yE = yD;

xf = xD+c/2;

yf = yD-(c/2)*Math.tan(j36);

xg = xE - c/(2*Math.sin(j54))*Math.sin(j18);

yg = yE - c/(2*Math.sin(j54))*Math.cos(j18);

//int xpoints[] = {(int)(xB*100),(int)(xD*100),(int)(xC*100),(int)(xA*100),(int)(xE*100),(int)(xB*100)};

//int ypoints[] = {(int)(yB*100),(int)(yD*100),(int)(yC*100),(int)(yA*100),(int)(yE*100),(int)(yB*100)};

int xpoints[] = {(int)(xB*100),(int)(xD*100),(int)(xE*100),(int)(xB*100)};

int ypoints[] = {(int)(yB*100),(int)(yD*100),(int)(yE*100),(int)(yB*100)};

int num = 4 ;

//System.out.println((int)(xA*100)+" "+(int)(yA*100)+" , "+(int)(xD*100)+" "+(int)(yD*100));

g.setColor(Color.white);

g.fillPolygon(xpoints,ypoints,num);

int xpoints1[] = {(int)(xA*100), (int)(xC*100),(int)(xE*100),(int)(xA*100)};

int ypoints1[] = {(int)(yA*100),(int)(yC*100),(int)(yE*100),(int)(yA*100)};

g.fillPolygon(xpoints1,ypoints1,num);

g.setColor(Color.black);

int xpoints2[] = {(int)(xD*100),(int)(xf*100),(int)(xE*100),(int)(xD*100)};

int ypoints2[] = {(int)(yD*100),(int)(yf*100),(int)(yE*100),(int)(yD*100)};

g.fillPolygon(xpoints2,ypoints2,4);//減去多余的部分

int xpoint3[] = {(int)(xE*100),(int)(xg*100),(int)(xC*100),(int)(xE*100)};

int ypoint3[] = {(int)(yE*100),(int)(yg*100),(int)(yC*100),(int)(yE*100)};

g.fillPolygon(xpoint3,ypoint3,4);//減去多余的部分

}

}

五角星的坐標(biāo)圖 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?運(yùn)行結(jié)果圖

2.隨機(jī)輸出星號(hào)

import java.awt.Frame;

import java.awt.Panel;

import java.awt.Graphics;

public class Test03

{

public static void main(String[] args)

{

Frame f = new Frame();

f.setSize(500,500);

MyPanel mp = new MyPanel();

f.add(mp);

f.show();

}

}

class MyPanel extends Panel

{

public void paint(Graphics g)

{

for(int i=0 ;i<50;i++)

{

int x = (int)(Math.random()*500);//生成0-500的隨機(jī)數(shù)

int y = (int)(Math.random()*500);

g.drawString("*",x,y);

}

}

}

Java基礎(chǔ)-DButils工具類(lèi)(QueryRunner)詳解

Java基礎(chǔ)-DButils工具類(lèi)(QueryRunner)詳解 作者:尹正杰 版權(quán)聲明:原創(chuàng)作品,謝絕轉(zhuǎn)載!否則將追究法律責(zé)任. 如果只使用JDBC進(jìn)行開(kāi)發(fā),我們會(huì)發(fā)現(xiàn)冗余代碼過(guò)多,為了簡(jiǎn)化JDBC ...

Java面試題總結(jié)之Java基礎(chǔ)&lpar;二&rpar;

Java面試題總結(jié)之Java基礎(chǔ)(二) 1.寫(xiě)clone()方法時(shí),通常都有一行代碼,是什么? 答:super.clone(),他負(fù)責(zé)產(chǎn)生正確大小的空間,并逐位復(fù)制. 2.GC 是什么? 為什么要有G ...

Java基礎(chǔ)之File類(lèi)的使用

Java基礎(chǔ)之File類(lèi)的使用 1.File類(lèi)的構(gòu)造方法和常用方法 2.對(duì)File中l(wèi)istFile(FileNameFilter name)學(xué)習(xí) 3.與File文件類(lèi)相關(guān)的實(shí)現(xiàn) File類(lèi)的構(gòu)造方法 ...

java基礎(chǔ)&lpar;二&rpar; -對(duì)象和類(lèi)

Java 對(duì)象和類(lèi) Java作為一種面向?qū)ο笳Z(yǔ)言.支持以下基本概念: 多態(tài) 繼承 封裝 抽象 類(lèi) 對(duì)象 實(shí)例 方法 重載 對(duì)象:對(duì)象是類(lèi)的一個(gè)實(shí)例(對(duì)象不是找個(gè)女朋友),有狀態(tài)和行為.例如,一條狗是一 ...

java基礎(chǔ)&lpar;二&rpar;-----java的三大特性之繼承

在中有這樣一句話(huà):復(fù)用代碼是Java眾多引人注目的功能之一.但要想成為極具革命性的語(yǔ)言,僅僅能夠復(fù)制代碼并對(duì)加以改變是不夠的,它還必須能夠做更多的事情.在這句 ...

Java基礎(chǔ):Object類(lèi)中的equals與hashCode方法

前言 這個(gè)系列的文章主要用來(lái)記錄我在學(xué)習(xí)和復(fù)習(xí)Java基礎(chǔ)知識(shí)的過(guò)程中遇到的一些有趣好玩的知識(shí)點(diǎn),希望大家也喜歡. 一切皆對(duì)象 ? 對(duì)于軟件工程來(lái)說(shuō)面向?qū)ο缶幊逃幸惶淄暾慕鉀Q方案:OOA.OOD.O ...

Java基礎(chǔ)&lpar;二&rpar; 基本類(lèi)型數(shù)據(jù)類(lèi)型、包裝類(lèi)及自動(dòng)拆裝箱

我們知道基本數(shù)據(jù)類(lèi)型包括byte, short, int, long, float, double, char, boolean,對(duì)應(yīng)的包裝類(lèi)分別是Byte, Short, Integer, Long ...

&lbrack; 轉(zhuǎn)載 &rsqb; Java基礎(chǔ)二

前言 關(guān)于贏在面試的Java題系列基本收集整理完成了,所有題目都是經(jīng)過(guò)精心挑選的,很基礎(chǔ)又考驗(yàn)求職者的基本功,應(yīng)該說(shuō)被面試到的幾率很大.這里整理挑選出來(lái)供大家面試前拿來(lái)看一看,所有題目整理自網(wǎng)絡(luò),有一 ...

Java基礎(chǔ)二:常量池

目錄: 自動(dòng)裝箱與拆箱 常量池 ==與equals()區(qū)別 1. 自動(dòng)裝箱與拆箱 Java是一個(gè)近乎純潔的面向?qū)ο缶幊陶Z(yǔ)言,但是為了編程的方便還是引入了基本數(shù)據(jù)類(lèi)型,但是為了能夠?qū)⑦@些基本數(shù)據(jù)類(lèi)型當(dāng)成 ...

隨機(jī)推薦

Android之控件使用

Android系統(tǒng)為我們提供了大量的控件,例如:開(kāi)關(guān)控件.單選按鈕.多選按鈕.單選菜單等等,那么這些控件如何使用呢?本篇我將帶領(lǐng)大家一道學(xué)習(xí)一下如何使用這些控件.所謂無(wú)圖無(wú)真相,先讓大家看一下效果圖: ...

javascript設(shè)計(jì)模式實(shí)踐之職責(zé)鏈--具有百葉窗切換圖片效果的JQuery插件(三)

在上一篇里,通過(guò)采用模板方法模式完成了切換效果對(duì)象的構(gòu)建編寫(xiě). 接下來(lái)就是完成各效果對(duì)象的調(diào) ...

OpenStack 企業(yè)私有云的若干需求(10):OpenStack 的前景和錢(qián)景

本系列會(huì)介紹OpenStack 企業(yè)私有云的幾個(gè)需求: 自動(dòng)擴(kuò)展(Auto-scaling)支持 多租戶(hù)和租戶(hù)隔離 (multi-tenancy and tenancy isolation) 混合云( ...

【轉(zhuǎn)】JVM 基礎(chǔ)知識(shí)

幾年前寫(xiě)過(guò)一篇關(guān)于JVM調(diào)優(yōu)的文章,前段時(shí)間拿出來(lái)看了看,又添加了一些東西.突然發(fā)現(xiàn),基礎(chǔ)真的很重要.學(xué)習(xí)的過(guò)程是一個(gè)由表及里,再由里及表的過(guò)程,所謂的“溫故而知新”.而真正能走完這個(gè)輪回的人,也就能 ...

【Spring Cloud筆記】 斷路器-hystrix

在微服務(wù)架構(gòu)中,一個(gè)微服務(wù)的超時(shí)失敗可能導(dǎo)致瀑布式連鎖反映,Spring Cloud Netflix 的斷路器Hystrix通過(guò)自主反饋,防止了這種情況發(fā)生.下面介紹簡(jiǎn)單的斷路器使用方法. [step ...

test markdown to html

軟件版本 PHP 5.5.25 Yaf 2.3.2 域名 正式域名 gm.mgame.qihoo.net demo域名 demo.gm.mgame.qihoo.net 配置 配置目錄 后臺(tái)配置 con ...

第11章 拾遺5:IPv6和IPv4共存技術(shù)(3)&lowbar;NAT-PT技術(shù)【全書(shū)完】

6.4 NAT-PT (1)NAT-PT和NAT的差別 ①NAT-PT(附帶協(xié)議轉(zhuǎn)換的網(wǎng)絡(luò)地址轉(zhuǎn)換)技術(shù)秉承NAT技術(shù)的思想,但在原理方面大有不同. ②NAT-PT和NAT本質(zhì)的區(qū)別在于應(yīng)用場(chǎng)合的不同 ...

PAT《數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)與實(shí)驗(yàn)指導(dǎo)》實(shí)驗(yàn)項(xiàng)目集 2-09 2-10 2-11 2-12 2-13

pat 2-09 裝箱問(wèn)題模擬 #include #include #include using namespace st ...

MySQL中UNSIGNED和ZEROFILL的介紹

UNSIGNED: 將數(shù)字類(lèi)型無(wú)符號(hào)化,這與C和C++這些程序語(yǔ)言的unsigned含義相同. INT的類(lèi)型范圍-2 147 483 648~2 147 483 647 INT UNSIGNED范圍0 ...

yii2 表單輸入框設(shè)置

= $form->field($userRole, 'userid', ['options' =>['class' => 'bigDiv'] ])->textInpu ...

總結(jié)

以上是生活随笔為你收集整理的java graphics类详解_java 基础二 Graphics类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。