java如何使用paint方法畫圖
本篇文章的主要內容是關於在Java裡用paint方法畫圖,具有一定參考價值,有興趣的朋友可以了解一下,希望能對你有幫助。
java使用paint方法繪圖
需要繼承JFrame類別來畫視窗=> public class Game extends JFrame {}
setTitle(String s); / /設定視窗標題
setLocation(int x, int y); //設定視窗位置
setSize(int width, int height); //設定視窗寬高
setVisible(true); //設定視窗可見,預設為flase,這個方法放在setLocation()和setSize後面較好,我放在前面視窗為黑色,本來預設為白色的
paint方法畫圖
定義後自動呼叫
public class paint(Graphics g) { Color c = g.getColor(); //记录原来的颜色 Font f = g.getFont(); //记录原来的字体 g.setColor(Color.BLACK); //设置画线的颜色 g.drawLine(int x1, int y1, int x2, int y2); //两点画直线 g.drawRect(int x, int y, int width, int height); //左上角顶点加宽高画矩形 g.fillRect(int x, int y, int width, int height); //画填充矩形 g.setFont(new Font("楷体", Font.BOLD, 40)); //设置字体为楷体,粗体,大小为40 g.drawString(str, int x, int y); //画出str字符串 g.setColor(c); //变回原来的颜色 g.setFont(f); //变回原来的字体}
GameUtil工具類別導入圖片
import java.awt.Image; import java.awt.image.BufferedImage; import java.io.IOException; import java.net.URL; import javax.imageio.ImageIO; public class GameUtil { // 工具类最好将构造器私有化。 private GameUtil() { } public static Image getImage(String path) { BufferedImage bi = null; try { URL u = GameUtil.class.getClassLoader().getResource(path); bi = ImageIO.read(u); } catch (IOException e) { e.printStackTrace(); } return bi; }}
在Game類別裡面呼叫GameUtil
Image imag = GameUtil .getImage(“images/picture.png”); //我建立的一個images包,用來儲存圖片,引號裡面為圖片的路徑
g.drawImage(imag, x, y, width, height, null ); //imag圖片,位置,寬高,觀察者
import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import javax.swing.JFrame; public class MyGame extends JFrame{ Image imag = GameUtil.getImage("images/text1.png"); //指定图片 @Override public void paint(Graphics g) { Color c = g.getColor(); Font f = g.getFont(); g.setColor(Color.BLUE); //设置线体颜色 g.drawLine(100, 100, 650, 100); //直线 g.drawRect(50, 150, 200, 200); //空心矩形 g.fillRect(550, 150, 200, 200); //实体矩形 g.drawOval(300, 150, 200, 200); //圆形 g.setFont(new Font("楷体", Font.BOLD, 90)); //设置字体 g.drawString("How are you?", 100, 100); //写字 g.drawImage(imag, 250, 400, 300, 300, null); //插入图片 g.setColor(c); //线条颜色变为原来的样子 g.setFont(f); //字体变为原来的样子 } public void launchJFrame() { this.setTitle("我的游戏"); //设置窗口标题 this.setSize(800, 800); //设置窗口大小 this.setLocation(100, 100); //设置窗口位置 this.setVisible(true); //设置窗口可见 /*this.addWindowListener(new WindowAdapter() { //叉掉窗口后,结束窗口所在的应用程序 @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); */ this.setDefaultCloseOperation(EXIT_ON_CLOSE); //叉掉窗口后,结束窗口所在的应用程序 } public static void main(String args[]) { MyGame game = new MyGame(); game.launchJFrame(); }}
#設定圖片的大小
public Image getScaledInstance(int width, int height, int hints) //hints - 指示用於圖像重新取樣的演算法類型的標誌(這句話不知道是什麼意思,照著下面的寫就對了)
Image img = GameUtil.getImage("images/text1.jpg");img = img.getScaledInstance(width, height, Image.SCALE_DEFAULT);
如果是要獲取圖片的大小,直接使用getWidth()和getHeight()方法就可以了
width = img.getWidth();height = img.getheight();
#雙緩衝技術解決閃爍
原理大概是:先將所需要畫的東西載入到緩衝區,然後將緩衝區中的內容全部畫到螢幕上,這樣就可以避免因為螢幕載入的東西太多導致螢幕瘋狂閃爍
public void paint(Graphics g){ BufferedImage imag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //构建缓冲区 Graphics g2 = imag.creatGraphics(); //新建一支画笔,使用这支画笔来将内容画到缓冲区中 g2.drawRect(...); //括号里面的参数就不写了,此处用来说明一些画图操作 g2.drawImag(...); g2.fillOval(...); g.drawImage(imag, x, y, width, height, null); //将内容画到屏幕上}
相關教學:Java影片教學
以上是java如何使用paint方法畫圖的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

膠囊是一種三維幾何圖形,由一個圓柱體和兩端各一個半球體組成。膠囊的體積可以通過將圓柱體的體積和兩端半球體的體積相加來計算。本教程將討論如何使用不同的方法在Java中計算給定膠囊的體積。 膠囊體積公式 膠囊體積的公式如下: 膠囊體積 = 圓柱體體積 兩個半球體體積 其中, r: 半球體的半徑。 h: 圓柱體的高度(不包括半球體)。 例子 1 輸入 半徑 = 5 單位 高度 = 10 單位 輸出 體積 = 1570.8 立方單位 解釋 使用公式計算體積: 體積 = π × r2 × h (4
