国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java設計圖形與多媒體處理

2019-11-26 14:58:49
字體:
來源:轉載
供稿:網友

本文實現了兩個效果:

第一種,同心圓效果圖:

/**  *程序要求:新建一個600*600像素的應用程序窗口,并在窗口中繪制5個不同顏色的同心圓,  *所有圓心都是屏幕的中心點,相鄰兩個圓直接的半徑相差50像素  *效果圖如下圖所示(顏色隨機設置),源程序保存為Ex7_1.java。  *作者:wwj  *日期:2012/4/25  *功能:顯示一個有5個不同顏色的同心圓  **/   import javax.swing.*;  import java.awt.*;  import java.awt.Color;  public class Ex7_1 extends JFrame  {    int red,green,blue;    Color color;     public Ex7_1()    {      super("一個有5個不同顏色的同心圓");  //顯示窗口名稱      setSize(600,600);           //設置窗口大小      setVisible(true);           //設置為可見      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設置窗口關閉動作       }        public void paint(Graphics g)    {      //第一個圓     red=(int)(Math.random()*255);     green=(int)(Math.random()*255);     blue=(int)(Math.random()*255);     color=new Color(red,green,blue);     g.setColor(color);     g.fillOval(175,175,250,250);     //第二個圓     red=(int)(Math.random()*255);     green=(int)(Math.random()*255);     blue=(int)(Math.random()*255);     color=new Color(red,green,blue);     g.setColor(color);     g.fillOval(200,200,200,200);     //第三個圓     red=(int)(Math.random()*255);     green=(int)(Math.random()*255);     blue=(int)(Math.random()*255);     color=new Color(red,green,blue);     g.setColor(color);     g.fillOval(225,225,150,150);     //第四個圓     red=(int)(Math.random()*255);     green=(int)(Math.random()*255);     blue=(int)(Math.random()*255);     color=new Color(red,green,blue);     g.setColor(color);     g.fillOval(250,250,100,100);     //第五個圓     red=(int)(Math.random()*255);     green=(int)(Math.random()*255);     blue=(int)(Math.random()*255);     color=new Color(red,green,blue);     g.setColor(color);     g.fillOval(275,275,50,50);     }           public static void main(String[] args)    {      Ex7_1 e = new Ex7_1();       }   } 

第二種,播放音樂和切換圖片的小程序效果圖:

/**  *程序要求:編寫一個Applet的小程序,準備5幅圖片和三個音樂文件,繪制到Applet中,  *并增加幾個按鈕,控制圖片的切換、放大、縮小和音樂文件的播放。  *作者:wwj  *日期:2012/4/29  *參考:neicole  *功能:能進行圖片和歌曲的選擇變換的applet小程序  **/   import javax.swing.*;  import java.awt.*;  import java.awt.event.*;  import java.applet.Applet;  import java.applet.AudioClip;     public class Ex7_2 extends Applet implements ActionListener,ItemListener  {     //創建兩個面板    JPanel p1=new JPanel();    JPanel p2=new JPanel();    JPanel p3=new JPanel();    //聲音對象    AudioClip[] sound=new AudioClip[3];    int playingSong=0;    //切換圖片的按鈕    JButton lastPic=new JButton("上一張");    JButton setLarge=new JButton("放大");    JButton setLittle=new JButton("縮小");    JButton nextPic=new JButton("下一張");    //切換歌曲的按鈕    JButton lastSound=new JButton("上一首");    JButton play=new JButton("播放");    JButton loop=new JButton("連續");    JButton stop=new JButton("停止");    JButton nextSound=new JButton("下一首");    //曲目下拉列表    JComboBox xx;    String names[]={ "曲目1.wav","曲目2.wav","曲目3.wav"};      //創建畫布對象   MyCanvasl showPhotos;          public void init()    {      //窗口布局      this.setLayout(new BorderLayout());       //為圖片控制按鈕注冊監聽器      lastPic.addActionListener(this);      setLarge.addActionListener(this);      setLittle.addActionListener(this);      nextPic.addActionListener(this);       //向面板p1添加組件      p1.add(lastPic);      p1.add(setLarge);      p1.add(setLittle);      p1.add(nextPic);      p1.repaint();        //實例化下拉列表對象     xx = new JComboBox(names);     xx.addItemListener(this);      //為控制播放音樂按鈕注冊監聽器     lastSound.addActionListener(this);     play.addActionListener(this);     loop.addActionListener(this);     stop.addActionListener(this);     nextSound.addActionListener(this);      for(int i=0;i<3;i++)      {       sound[i]=getAudioClip(getCodeBase(),"music/"+"曲目"           +Integer.toString(i+1)+".wav");      }                //向面板p2添加組件      p2.add(xx);      p2.add(lastSound);      p2.add(play);      p2.add(loop);      p2.add(stop);      p2.add(nextSound);      p2.repaint();          showPhotos = new MyCanvasl();     p3.add(showPhotos);      p3.repaint();      //把面板p1和p2分別布置到窗口的北部和南部       add(p1,BorderLayout.NORTH);      add(p2,BorderLayout.SOUTH);      add(p3,BorderLayout.CENTER);       this.repaint();     }      //按鈕的事件處理    public void actionPerformed(ActionEvent e)    {           if(e.getSource() == lastPic){       showPhotos.changePhotoShow('P');     }     else if(e.getSource() == nextPic){       showPhotos.changePhotoShow('N');     }     else if(e.getSource() == setLarge){       showPhotos.changePhotoSize('B');     }     else if(e.getSource() == setLittle){       showPhotos.changePhotoSize('S');     }        else if(e.getSource()==lastSound){ //上一首       sound[playingSong].stop();       playingSong=(playingSong-1+3)%3;       xx.setSelectedIndex(playingSong);       sound[playingSong].play();      }     else if(e.getSource()==play){    //按下播放按鈕       sound[playingSong].play();     }     else if(e.getSource()==loop){    //按下循環按鈕       sound[playingSong].loop();     }     else if(e.getSource()==stop){    //按下停止按鈕       sound[playingSong].stop();     }     else{                //下一首       sound[playingSong].stop();       playingSong=(playingSong+1)%3;       xx.setSelectedIndex(playingSong);       sound[playingSong].play();      }      }      //下拉列表的事件處理    public void itemStateChanged(ItemEvent e)    {            sound[playingSong].stop();      sound[playingSong]=getAudioClip(getCodeBase(),"music/"+xx.getSelectedItem());    }    class MyCanvasl extends Canvas   {          public Image[] img=new Image[5];      int MaxWidth = 600;     int MaxHeight = 500;     int nowImageIndex = 0;     int coordinateX = 0;     int coordinateY = 0;     int currentWidth = MaxWidth;     int currentHeight = MaxHeight;           MyCanvasl(){      setSize(MaxWidth,MaxHeight);      //獲取當前目錄下的圖片      for(int i=0;i<5;i++){        img[i]=getImage(getCodeBase(),"image/"+Integer.toString(i+1)+".jpg");      }     }       private void changePhotoIndex(int index){       nowImageIndex = index;       changePhotoSize('M');     }        public void changePhotoShow(char command){       if('P' == command){         changePhotoIndex((nowImageIndex + 5 - 1 ) % 5);       }       else if('N' == command){         changePhotoIndex((nowImageIndex + 1) % 5);       }     }             public void changePhotoSize(char command){       if ('M' == command){         currentWidth = MaxWidth;         currentHeight = MaxHeight;       }       else if ('B' == command){         if(MaxWidth >= (currentWidth + 100) && MaxHeight >= (currentHeight + 100)){           currentWidth += 100;           currentHeight += 100;         }       }       else if('S' == command){         if((0 < (currentWidth - 100)) && (0 < (currentHeight - 100))){           currentWidth = currentWidth - 100;           currentHeight = currentHeight - 100;         }       }       coordinateX = (MaxWidth - currentWidth) / 2;       coordinateY = (MaxHeight - currentHeight) / 2;       repaint();     }       //paint方法用來在窗口顯示圖片    public void paint(Graphics g){       g.drawImage(img[nowImageIndex],coordinateX,coordinateY,currentWidth,currentHeight,this);     }   }  } 

 以上就是關于Java的圖形設計以及多媒體處理的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 松溪县| 贵港市| 泰来县| 清远市| 永善县| 称多县| 水富县| 黔南| 莆田市| 临桂县| 七台河市| 苍南县| 册亨县| 沽源县| 苍南县| 手机| 大安市| 通河县| 运城市| 宣化县| 福泉市| 重庆市| 新泰市| 馆陶县| 巫溪县| 五台县| 玉环县| 福贡县| 普洱| 麻栗坡县| 若羌县| 开鲁县| 什邡市| 越西县| 芮城县| 金华市| 东兰县| 顺平县| 邵阳市| 哈密市| 双柏县|