溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java繪圖技術(shù)的詳解及實(shí)例

發(fā)布時(shí)間:2020-09-23 21:35:48 來(lái)源:腳本之家 閱讀:206 作者:lqh 欄目:編程語(yǔ)言

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是繪圖的重要類,可以理解成一只畫筆
    //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("隸書(shū)",Font.BOLD,30));
    g.drawString("祖國(guó)萬(wàn)歲!", 100, 80);
    
  }
}

1、Component類提供了兩個(gè)和繪圖相關(guān)最重要的方法

1)paint(Graphics g)繪制組件外觀

2)repaint()刷新組件的外觀

當(dāng)組件第一次在屏幕顯示時(shí),程序會(huì)自動(dòng)的調(diào)用paint()方法來(lái)繪制組件。

2、關(guān)于Graphics類

Java繪圖技術(shù)的詳解及實(shí)例

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

Java繪圖技術(shù)的詳解及實(shí)例

以上就是Java繪圖技術(shù)的詳解,如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI