Java學習筆記:swing畫筆工具Graphics,刷新頁面,鍵盤事件,隨機數(shù)等【詩書畫唱】
Graphics:畫筆工具
setColor:設置畫筆顏色
DrawRect:空心矩形
fillRect:實心矩形
DrawOavl:空心圓
fillOavl:實心圓
DrawLine:畫線(注意)
以上都是4個參數(shù),第一個為x軸位置,第二個y軸位置,第三個為寬度,第四個為高度
DrawRoundRect:矩形,6個參數(shù),前面4的意思一樣,后面兩個為x和y的角度?
獲取到當前窗體,獲取它的工具類,獲取圖片路徑
//加載圖片
Image img=Toolkit.getDefaultToolkit().getImage("tup//2.jpg");
g.drawImage(img, 100,100,100,100,this);
// setColor(顏色):設置畫筆的顏色【即為“設置空心矩形的邊框的顏色或?qū)嵭木匦蔚奶畛涞念伾薄?/span>
// drawLine(int startX,int startY, int EndX,int EndY):繪制直線
// drawOval(int StartX,int StartY,int Width,int Height):繪制空心圓形
// drawRect(int startX,int startY,int width,int height):繪制空心矩形
rect
[詞典]矩形(Rectangular); 矩形結構; 矩形區(qū)域;
rectangular英[rek?t??ɡj?l?(r)]美[rek?t??ɡj?l?r]
adj.長方形的; 矩形的;
draw英[dr??]美[dr??]
v.(用鉛筆、鋼筆或粉筆) 畫,描繪,描畫; 拖(動); 拉(動); 牽引; 拉,拖(車); 吸引,使感興趣;n.抽彩; 抽獎; 抽簽; 平局; 和局; 不分勝負;
fill英[f?l]美[f?l]
v.(使) 充滿,裝滿,注滿,填滿; 堵塞,填補(洞、孔); 使充滿(感情);n.填滿…的量; 足夠…的量; 吃飽的量; 喝足的量;
// 繪制3D空心矩形
// fillRect(int x,int y,int width,int height):實心矩形
// fillOval(int x,int y,int width,int height):實心圓形
// fillRoundRect(int x,int y,int width,int height,int banjingWidth,int banjingHeight):繪制實心圓角矩形
// drawRoundRect(int x,int y,int width,int height,int banjingWidth,int banjingHeight):繪制空心圓角矩形
// drawArc(int x,int y,int width,int height,int start,int end):繪制扇形邊框
// fillArc(int x,int y,int width,int height,int start,int end):繪制扇形區(qū)域
// setFont(new Font(“字體樣式”,粗細,大小)):設置字體樣式
// drawString(String str,int x,int y):繪制字體
// drawImage(img,x,y,width,height,color,this):繪制圖片
fillArc?代表填充畫出來的圖
drawArc?只是畫圖(即圖形的邊緣)
具體例子:
// g.setColor(Color.green);
// g.drawLine(10,100,300,100);
// g.drawRect(200,220,100,100);
// g.fillOval(100,100,100,150);
// g.fillRoundRect(200,200,150,150,30,30);
// g.fillArc(100,100,150,150,90,90);
// g.setFont(new Font("微軟雅黑",Font.BOLD,30));
// g.drawString("hello",100,100);
// 自己總結的語法:fillArc(X軸方向位移,
// Y軸方向位移,X軸方向?qū)挾?Y軸方向高度,
// 正擺放后的扇形順時針旋轉(zhuǎn)的角度,扇形對應的圓周角)
// g.fillRect(0,0,300,300);//畫一個矩形
// drawRect:空心的矩形
多把平時旁邊寫的注釋等當學習筆記,集合到一起。
個人總結的語法:
this.getWidth()和this.getHeight()表示整個面板的寬和高
g.clearRect(要清空區(qū)域的X軸方向位移,?
要清空區(qū)域的y軸方向位移,?
要清空區(qū)域的寬, 要清空區(qū)域的高)
repaint();//用來刷新頁面
// 調(diào)用該方法的三個情況:
// 1.頁面初始化
// 2.顯示調(diào)用repaint()方法
// 3.頁面大小進行改變的時候
g.clearRect(195,140,110,50);
// :clearRect方法用于頁面刷新后清除原先的內(nèi)容
Random Random=new Random();
Random.nextInt(4)將產(chǎn)生0,1,2,3這4個數(shù)字中的任何隨機一個數(shù)字
//Random ran=new Random() ;
//如果num=10+ran.nextInt (20),那么10<=num<10+20
//int[] a=new int[rand.nextint(20)+1];?
//整數(shù)范圍是[0,20)
//Java nextInt()函數(shù) nextInt(int num)?
//能接受一個整數(shù)作為它所產(chǎn)生的隨機整數(shù)的上限,
//下限為零,比如: nextInt(4)將產(chǎn)生0,1,2,3這4個數(shù)字中的任何一個數(shù)字,
//注意這里不是0-4,而是0-3。
//但下限總是零,不能更改,所以若要達到非零下限的效果,
//必須把上限減去下限的結果傳給 nextInt( ),然后把下限加入 nextInt( ) 返回的整數(shù)。
//用implements實現(xiàn)鍵盤點擊的KeyListener接口