Java繪圖技術(shù)的詳解及實(shí)例
Java繪圖技術(shù)的詳解及實(shí)例
簡(jiǎn)單實(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是繪圖的重要類(lèi),可以理解成一只畫(huà)筆
//1、調(diào)用父類(lèi)函數(shù)完成初始化(不可少)
super.paint(g);
// System.out.println("paint被調(diào)用");
g.drawOval(10, 10, 30, 30); //先畫(huà)出一個(gè)圓
g.drawLine(10, 10,40, 40); // 畫(huà)直線
g.drawRect(10, 10, 40, 60); //畫(huà)矩形邊框
g.setColor(Color.BLUE); //設(shè)置顏色
g.fillRect(70, 70, 40, 60); //填充矩形
g.setColor(Color.gray);
g.fillRect(150, 150, 30,40);
//在面板上畫(huà)出圖片
Image im=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/imag_1"));
g.drawImage(im, 200, 200, 200, 150, this); //顯示
//畫(huà)出字體
g.setColor(Color.GREEN);
g.setFont(new Font("隸書(shū)",Font.BOLD,30));
g.drawString("祖國(guó)萬(wàn)歲!", 100, 80);
}
}
1、Component類(lèi)提供了兩個(gè)和繪圖相關(guān)最重要的方法
1)paint(Graphics g)繪制組件外觀
2)repaint()刷新組件的外觀
當(dāng)組件第一次在屏幕顯示時(shí),程序會(huì)自動(dòng)的調(diào)用paint()方法來(lái)繪制組件。
2、關(guān)于Graphics類(lèi)

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

以上就是Java繪圖技術(shù)的詳解,如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
使用java將動(dòng)態(tài)網(wǎng)頁(yè)生成靜態(tài)網(wǎng)頁(yè)示例
這篇文章主要介紹了使用java將動(dòng)態(tài)網(wǎng)頁(yè)生成靜態(tài)網(wǎng)頁(yè)示例,需要的朋友可以參考下2014-03-03
SparkStreaming整合Kafka過(guò)程詳解
這篇文章主要介紹了SparkStreaming整合Kafka過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-01-01
IDEA中Web項(xiàng)目控制臺(tái)亂碼的問(wèn)題及解決方法
這篇文章主要介紹了IDEA中Web項(xiàng)目控制臺(tái)亂碼的問(wèn)題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
Spring Boot 整合持久層之JdbcTemplate
持久層是 Java EE 中訪問(wèn)數(shù)據(jù)庫(kù)的核心操作,Spring Boot 中對(duì)常見(jiàn)的持久層框架都提供了自動(dòng)化配置,例如 JdbcTemplate 、 JPA 等,Mybatis 的自動(dòng)化配置則是 Mybatis 官方提供的2022-08-08
Java數(shù)組常用排序算法實(shí)例小結(jié)
這篇文章主要介紹了Java數(shù)組常用排序算法,結(jié)合實(shí)例形式總結(jié)分析了java數(shù)組常用的4種排序算法,包括冒泡排序、數(shù)組遞增排序、快速排序及選擇排序,需要的朋友可以參考下2017-12-12
java實(shí)現(xiàn)動(dòng)態(tài)驗(yàn)證碼
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)動(dòng)態(tài)驗(yàn)證碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
Java中的自動(dòng)裝箱與自動(dòng)拆箱的實(shí)現(xiàn)
自動(dòng)裝箱和自動(dòng)拆箱使得我們?cè)谑褂没緮?shù)據(jù)類(lèi)型時(shí)更加方便,同時(shí)也提高了代碼的可讀性和健壯性,本文將詳細(xì)介紹Java中的自動(dòng)裝箱和自動(dòng)拆箱機(jī)制,感興趣的可以了解一下2023-08-08
Java中的HashMap弱引用之WeakHashMap詳解
這篇文章主要介紹了Java中的HashMap弱引用之WeakHashMap詳解,當(dāng)內(nèi)存空間不足,Java虛擬機(jī)寧愿拋出OutOfMemoryError錯(cuò)誤,使程序異常終止,也不會(huì)靠隨意回收具有強(qiáng)引用的對(duì)象來(lái)解決內(nèi)存不足的問(wèn)題,需要的朋友可以參考下2023-09-09

