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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中graphics_在java中如何绘图?Graphics类是什么意思?

發布時間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中graphics_在java中如何绘图?Graphics类是什么意思? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在當今社會,java的使用越來越廣泛,今天就來為大家介紹一些基礎知識,在java中如何繪圖以及Graphics類的含義是什么。一起來看看吧。

一、首先說一下java的繪圖技術。

1.坐標原點位于左上角,以像素為單位。像素是計算機屏幕上最小的顯示單位。在java的坐標系中,第一個是X坐標,表示當前位置為水平方向,距離坐標原點X個像素;第二個是Y坐標,表示當前位置為垂直方向,距離坐標原點Y個像素。圖片如下所示:

2.計算機在屏幕上顯示的內容都是由屏幕上的每一個像素組成的。比如說,計算機顯示器的分辨率是800×600,這就表示計算機屏幕上的每一行由800個點組成,共有600行,整個計算機屏幕共有480000個像素。當然,現在的計算機可以支持更高的分辨率,也就是說,屏幕上可以顯示更多的像素。因此,像素是一個密度單位,而厘米是長度單位,這兩者無法比較。

3.Component類提供了兩個和繪圖相關的最重要的方法:

⑴paint(Graphics g)繪制組件的外觀;

⑵repaint()刷新組件的外觀。

當組件第一次在屏幕顯示的時候,程序會自動的調用paint()方法來繪制組件,在以下情況paint()將會被調用:

⑴窗口最小化,再最大化;

⑵窗口的大小發生變化;

⑶repaint函數被調用。

二、接下來簡述一下Graphics類

Graphics類可以理解為畫筆,為我們提供了各種繪制圖形的方法:

⑴畫直線drawLine(int x1, int y1, int x2, int y2);

⑵畫矩形邊框drawRect(int x, int y, int width, int height);

⑶畫橢圓邊框drawOval(int x, int y, int width, int height);

⑷填充矩形fillRect(int x, int y, int width, int height);

⑸填充橢圓fillOval(int x, int y, int width, int height);

⑹畫圖片drawImage(Image img, int x, int y,…);

⑺畫字符串drawString(String str, int x, int y);

⑻設置畫筆的字體setFont(Font font);

⑼設置畫筆的顏色setColor(Color c);

代碼展示如下:import?java.awt.Color;

import?java.awt.Font;

import?java.awt.Graphics;

import?javax.swing.JFrame;

import?javax.swing.JPanel;

public?class?GraphicsTest?extends?JFrame

{

//?定義組件

MyPanel1?mp?=?null;

public?static?void?main(String[]?args)

{

new?GraphicsTest();

}

public?GraphicsTest()

{

//?構建組件

mp?=?new?MyPanel1();

//?加入組件

this.add(mp);

//?設置窗體

this.setSize(400,?300);

this.setVisible(true);

this.setLocationRelativeTo(null);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

/**

*?@Description:?定義一個MyPanel(我自己的面板是用于繪圖和顯示繪圖的區域)

*/

class?MyPanel1?extends?JPanel

{

private?static?final?long?serialVersionUID?=?1?L;

//?重寫(覆蓋)JPanel的paint方法

public?void?paint(Graphics?g)

{

//?1、調用父類函數,完成初始化任務

super.paint(g);

//?畫一個直線

g.drawLine(10,?10,?40,?10);

//?畫矩形邊框

g.drawRect(50,?50,?40,?40);

//?畫橢圓邊框

g.drawOval(130,?130,?60,?60);

//?畫填充矩形

g.setColor(Color.blue);

g.fillRect(10,?150,?70,?70);

//?畫填充橢圓

//?設置畫筆顏色

g.setColor(Color.red);

g.fillOval(270,?140,?100,?80);

//?如何畫出字

g.setColor(Color.red);

g.setFont(new?Font("黑體",?Font.BOLD,?40));

g.drawString("祖國萬歲",?150,?100);

//?畫弧形

g.drawArc(100,?100,?120,?200,?50,?100);

}

}

圖片如下:

以上就是關于在java中如何繪圖以及Graphics類是什么意思的主要內容。想要了解更多java基礎以及常見問題,敬請關注奇Q工具網。

推薦閱讀:

總結

以上是生活随笔為你收集整理的java中graphics_在java中如何绘图?Graphics类是什么意思?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。