Java繪圖技術(shù)的詳解及實(shí)例
Java繪圖技術(shù)的詳解及實(shí)例
簡單實(shí)例
public class Demo1 extends JFrame{
MyPanel mp=null;
public static void main(String[] args){
Demo1 demo=new Demo1();
}
public Demo1(){
mp=new MyPanel();
this.add(mp);
this.setSize(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
//定義一個(gè)MyPanel(我自己的面板,是用于繪圖和顯示繪圖的區(qū)域)
class MyPanel extends JPanel{
//覆蓋JPanel的paint方法
public void paint(Graphics g){ //Graphics是繪圖的重要類,可以理解成一只畫筆
//1、調(diào)用父類函數(shù)完成初始化(不可少)
super.paint(g);
// System.out.println("paint被調(diào)用");
g.drawOval(10, 10, 30, 30); //先畫出一個(gè)圓
g.drawLine(10, 10,40, 40); // 畫直線
g.drawRect(10, 10, 40, 60); //畫矩形邊框
g.setColor(Color.BLUE); //設(shè)置顏色
g.fillRect(70, 70, 40, 60); //填充矩形
g.setColor(Color.gray);
g.fillRect(150, 150, 30,40);
//在面板上畫出圖片
Image im=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/imag_1"));
g.drawImage(im, 200, 200, 200, 150, this); //顯示
//畫出字體
g.setColor(Color.GREEN);
g.setFont(new Font("隸書",Font.BOLD,30));
g.drawString("祖國萬歲!", 100, 80);
}
}
1、Component類提供了兩個(gè)和繪圖相關(guān)最重要的方法
1)paint(Graphics g)繪制組件外觀
2)repaint()刷新組件的外觀
當(dāng)組件第一次在屏幕顯示時(shí),程序會自動的調(diào)用paint()方法來繪制組件。
2、關(guān)于Graphics類

運(yùn)行效果如下:

以上就是Java繪圖技術(shù)的詳解,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
基于SpringBoot實(shí)現(xiàn)郵箱找回密碼的代碼示例
本文主要介紹了如何基于SpringBoot實(shí)現(xiàn)郵箱找回密碼,文中通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-02-02
spring boot加入攔截器Interceptor過程解析
這篇文章主要介紹了spring boot加入攔截器Interceptor過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
mybatis配置Mapper.xml文件時(shí)遇到的問題及解決
這篇文章主要介紹了mybatis配置Mapper.xml文件時(shí)遇到的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
Mybatis分頁插件PageHelper手寫實(shí)現(xiàn)示例
這篇文章主要為大家介紹了Mybatis分頁插件PageHelper手寫實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
通過Java 程序獲取Word中指定圖片的坐標(biāo)位置
本文介紹通過Java程序獲取Word文檔中指定圖片的坐標(biāo)位置,程序運(yùn)行環(huán)境是jdk1.8開發(fā)環(huán)境idea,通過java程序代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-05-05

