欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

java使用paint方法畫圖的方法

小編給大家分享一下java使用paint方法畫圖的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

公司專注于為企業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站制作、微信公眾號(hào)開發(fā)、商城開發(fā),微信小程序定制開發(fā),軟件按需定制等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)公司更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

java使用paint方法畫圖

需要繼承JFrame類來畫窗口 => public class Game extends JFrame {}
setTitle(String s);   //設(shè)置窗口標(biāo)題
setLocation(int x, int y); //設(shè)置窗口位置
setSize(int width, int height);   //設(shè)置窗口寬和高
setVisible(true);   //設(shè)置窗口可見,默認(rèn)為flase,這個(gè)方法放在setLocation()和setSize后面較好,我放在前面窗口為黑色,本來默認(rèn)為白色的

paint方法畫圖
定義后自動(dòng)調(diào)用

public class paint(Graphics g) {
        Color c = g.getColor();   //記錄原來的顏色
        Font f = g.getFont();     //記錄原來的字體
        g.setColor(Color.BLACK);  //設(shè)置畫線的顏色
        g.drawLine(int x1, int y1, int x2, int y2); //兩點(diǎn)畫直線
        g.drawRect(int x, int y, int width, int height);  //左上角頂點(diǎn)加寬高畫矩形
        g.fillRect(int x, int y, int width, int height);  //畫填充矩形
        g.setFont(new Font("楷體", Font.BOLD, 40));   //設(shè)置字體為楷體,粗體,大小為40
        g.drawString(str, int x, int y);  //畫出str字符串
        g.setColor(c);  //變回原來的顏色
        g.setFont(f);   //變回原來的字體}

GameUtil工具類導(dǎo)入圖片

import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
public class GameUtil {
    // 工具類最好將構(gòu)造器私有化。
    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類里面調(diào)用GameUtil
Image imag = GameUtil.getImage(“images/picture.png”);  //我建立的一個(gè)images包,用來存儲(chǔ)圖片,引號(hào)里面為圖片的路徑
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);             //設(shè)置線體顏色
                g.drawLine(100, 100, 650, 100);     //直線
                g.drawRect(50, 150, 200, 200);      //空心矩形
                g.fillRect(550, 150, 200, 200);      //實(shí)體矩形
                g.drawOval(300, 150, 200, 200);      //圓形
                g.setFont(new Font("楷體", Font.BOLD, 90));   //設(shè)置字體
                g.drawString("How are you?", 100, 100);      //寫字
                g.drawImage(imag, 250, 400, 300, 300, null);   //插入圖片
                g.setColor(c);     //線條顏色變?yōu)樵瓉淼臉幼?
                g.setFont(f);      //字體變?yōu)樵瓉淼臉幼?
        }
        public void launchJFrame() {
                this.setTitle("我的游戲");       //設(shè)置窗口標(biāo)題
                this.setSize(800, 800);        //設(shè)置窗口大小
                this.setLocation(100, 100);    //設(shè)置窗口位置
                this.setVisible(true);         //設(shè)置窗口可見
                /*this.addWindowListener(new WindowAdapter() {    //叉掉窗口后,結(jié)束窗口所在的應(yīng)用程序
                        @Override
                        public void windowClosing(WindowEvent e) {
                                System.exit(0);
                        }
                });     */
                this.setDefaultCloseOperation(EXIT_ON_CLOSE);   //叉掉窗口后,結(jié)束窗口所在的應(yīng)用程序

        }
        public static void main(String args[]) {
                        MyGame game = new MyGame();
                        game.launchJFrame();
                }}

設(shè)置圖片的大小
public Image getScaledInstance(int width, int height, int hints) ?//hints - 指示用于圖像重新取樣的算法類型的標(biāo)志(這句話不知道是什么意思,照著下面的寫就對(duì)了)

Image img = GameUtil.getImage("images/text1.jpg");img = img.getScaledInstance(width, height, Image.SCALE_DEFAULT);

如果是要獲取圖片的大小,直接使用getWidth()和getHeight()方法就可以了

width = img.getWidth();height = img.getheight();

雙緩沖技術(shù)解決閃爍
原理大概是:先將所需要畫的東西加載到緩沖區(qū),然后將緩沖區(qū)中的內(nèi)容全部畫到屏幕上,這樣就可以避免因?yàn)槠聊患虞d的東西太多導(dǎo)致屏幕瘋狂閃爍

public void paint(Graphics g){
        BufferedImage imag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);   //構(gòu)建緩沖區(qū)
        Graphics g2 = imag.creatGraphics();   //新建一支畫筆,使用這支畫筆來將內(nèi)容畫到緩沖區(qū)中
        g2.drawRect(...);    //括號(hào)里面的參數(shù)就不寫了,此處用來說明一些畫圖操作
        g2.drawImag(...);
        g2.fillOval(...);
        g.drawImage(imag, x, y, width, height, null);   //將內(nèi)容畫到屏幕上}

看完了這篇文章,相信你對(duì)java使用paint方法畫圖的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

文章名稱:java使用paint方法畫圖的方法
分享路徑:http://aaarwkj.com/article12/gihedc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、標(biāo)簽優(yōu)化、做網(wǎng)站、網(wǎng)站營銷、營銷型網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
黄色录像日本黄色录像| 国产亚洲精品国产福利久久| 国产日韩欧在线视频| 国产免费成人在线视频| 成年免费大片黄在线观看| 国产精品一区二区av不卡| 午夜影院在线观看网站| 禁止18岁以下观看的视频| 免费女性啪啪无遮挡网站| 国产无套内射三级视频| 国产一区二区三区精品女同| 日韩精品综合成人欧美| 日本免费中文字幕在线| 日韩精品在线观看电影| 亚洲精品成人午夜av| 欧美成人精品免费在线| 免费在线一区二区av| 一区二区三区三级视频| 亚洲性视频日韩性视频| 国产白丝扒开做爽爽爽网站| 人妖激情一区二区三区| 日韩精品在线另类亚洲| 国产性色精品一区二区| 欧美日韩中文字幕精品视频| 日韩看片一区二区三区高清| 中文字幕乱码亚洲精品一区| 国产龙熟女高潮一区二区| 久久婷婷av一区二区三区| 欧美日韩亚洲综合在线| 国语av一区二区三区| 特别黄的日本免费视频| 亚洲精品国产熟女久久| 国产黄色一区二区三区四区| 欧美日韩一区二区三区四区高清| 久久热久久热精品视频| 秒播视频午夜福利在线观看| 日韩av高清在线播放| 国产一区二区三区午夜视频 | 久久色综合色悠悠色综合色| 日韩精品高清不卡一区二区三区| 亚洲一级香蕉视频东京热|