亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? exercise14_20.java

?? Introduction to java programming 一書中所有編程練習部分的源碼
?? JAVA
字號:
// Exercise14_20.java: Create a customizable animation appletimport java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.net.URL;import java.applet.*;public class Exercise14_20 extends JApplet implements ActionListener {  JTextField jtfSpeed = new JTextField();  JTextField jtfPrefix = new JTextField();  JTextField jtfNumOfImages = new JTextField();  JTextField jtfAudioFile = new JTextField();  JButton jbtStartAnimation = new JButton("Start Animation");  PlayImage playImage = new PlayImage();  Image[] images;  AudioClip audioClip;  int sleepTime;  int numOfImages;  // Initialize the applet  public void init() {    // Panel p to hold animation control    JPanel p = new JPanel();    p.setLayout(new GridLayout(4, 2));    p.add(new JLabel("Animation speed in milliseconds"));    p.add(jtfSpeed);    p.add(new JLabel("Image file prefix"));    p.add(jtfPrefix);    p.add(new JLabel("Number of images"));    p.add(jtfNumOfImages);    p.add(new JLabel("Audio file"));    p.add(jtfAudioFile);    p.setBorder(new TitledBorder(      "Enter information for animation"));    // Panel jpButton to hold the button    JPanel jpButton = new JPanel();    jpButton.setLayout(new FlowLayout(FlowLayout.RIGHT));    jpButton.add(jbtStartAnimation);    // Add the button, image panel, and panel p to the applet    getContentPane().add(jpButton, BorderLayout.NORTH);    getContentPane().add(playImage, BorderLayout.CENTER);    getContentPane().add(p, BorderLayout.SOUTH);    // Register listener    jbtStartAnimation.addActionListener(this);  }  // Handle button action  public void actionPerformed(ActionEvent e) {    startAnimation();  }  public void startAnimation() {    MediaTracker imageTracker = new MediaTracker(this);    // Obtain a Toolkit instance    Toolkit toolkit = Toolkit.getDefaultToolkit();    URL url = null;    String prefix = jtfPrefix.getText().trim();    numOfImages =      new Integer(jtfNumOfImages.getText().trim()).intValue();    String audioFile = jtfAudioFile.getText().trim();    sleepTime = new Integer(jtfSpeed.getText().trim()).intValue();    // Load the image, the image files are named    // L1 - L52 in Images directory    images = new Image[numOfImages];    for (int i=0; i<images.length; i++) {      // Get the URL for the file name      url = this.getClass().getResource("image/" + prefix + (i+1)        + ".gif");      images[i] = toolkit.getImage(url);      // Register images with the imageTracker      imageTracker.addImage(images[i], i);    }    // Play a sound    try {      url = this.getClass().getResource(audioFile);    }    catch (Exception ex) {      System.out.println(ex);    }    System.out.println("url = " + url);    audioClip = Applet.newAudioClip(url);    // Wait for all the images to be completely loaded    try {      imageTracker.waitForAll();    }    catch (InterruptedException ex) {      System.out.println(ex);    }    // Dispose of imageTracker and audioClip since they are no longer needed    imageTracker = null;    // Start image animation    playImage.beginAnimation();  }  // Main method  public static void main(String[] args) {    // Create a frame    JFrame frame = new JFrame("Exercise14_20");    // Create an instance of the applet    Exercise14_20 applet = new Exercise14_20();    // Add the applet instance to the frame    frame.getContentPane().add(applet, BorderLayout.CENTER);    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    // Invoke init() and start()    applet.init();    applet.start();    // Display the frame    frame.setSize(500, 400);    frame.setVisible(true);  }  class PlayImage extends JPanel implements Runnable {    private Thread thread = null;    int currentImageIndex = 0;    Image imageToDisplay;    // Determine the thread status    protected boolean suspended = false;    // Constructor    public PlayImage() {      // Start with the first image      currentImageIndex = 0;      thread = new Thread(this);      setBorder(new LineBorder(Color.red, 1));    }    public void beginAnimation() {      thread.start();      if (audioClip != null) audioClip.loop();    }    public void start() {      resume();    }    public void stop() {      suspend();    }    public synchronized void resume() {      if (suspended) {        suspended = false;        notify();      }    }    public synchronized void suspend() {      suspended = true;    }    public void destroy() {      thread = null;    }    public void run() {      while (true) {        imageToDisplay =          images[currentImageIndex%numOfImages];        // Make sure currentImageIndex is nonnegative        if (currentImageIndex == 0) currentImageIndex = 52;        currentImageIndex = currentImageIndex + 1;        repaint();        try {          thread.sleep(sleepTime);          synchronized (this) {            while (suspended)              wait();          }        }        catch (InterruptedException ex) {        }      }    }    // Display an image    public void paintComponent(Graphics g) {      super.paintComponent(g);      if (imageToDisplay != null) {        g.drawImage(imageToDisplay, 0, 0, getSize().width,          getSize().height, this);      }    }  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
偷窥少妇高潮呻吟av久久免费| 欧美精品一区二区三区高清aⅴ| 国产乱码精品一区二区三区忘忧草| 一区二区三区欧美久久| 亚洲欧美激情一区二区| 亚洲综合在线免费观看| 一区二区成人在线观看| 婷婷久久综合九色综合伊人色| 亚洲一区二区三区四区的 | 欧美精品久久99久久在免费线| 在线电影院国产精品| 欧美午夜影院一区| 4438x成人网最大色成网站| 日韩三级伦理片妻子的秘密按摩| 精品国产sm最大网站免费看| 久久午夜色播影院免费高清| 日本一区二区成人| 一区二区在线观看av| 亚洲国产乱码最新视频 | 粉嫩久久99精品久久久久久夜| 成人黄色小视频在线观看| 99精品欧美一区二区三区小说 | 久久久久国产精品麻豆| 国产精品短视频| 婷婷成人激情在线网| 韩国在线一区二区| 91小视频免费看| 91精品国产综合久久蜜臀 | 中文字幕一区二区三区不卡在线 | 欧美午夜一区二区三区免费大片| 制服丝袜av成人在线看| 国产欧美精品一区二区色综合| 亚洲品质自拍视频| 青青草成人在线观看| 成人av在线影院| 欧美一级一区二区| 国产精品女同互慰在线看| 亚洲一区免费视频| 国产成人免费高清| 色狠狠综合天天综合综合| 日韩欧美视频一区| 亚洲伦理在线免费看| 激情综合色综合久久| 色丁香久综合在线久综合在线观看| 欧美另类久久久品| 成人欧美一区二区三区1314| 美日韩一区二区| 欧洲视频一区二区| 国产精品美女一区二区在线观看| 午夜成人免费视频| 色综合天天性综合| 久久婷婷久久一区二区三区| 视频一区二区欧美| 日本精品一区二区三区高清| 久久精品在线免费观看| 秋霞午夜av一区二区三区| 91一区二区在线观看| 久久精品欧美日韩| 久久综合综合久久综合| 精品国产一区二区三区忘忧草 | 精品视频在线免费看| 国产精品久久久久天堂| 韩国av一区二区| 日韩欧美国产一区二区三区| 午夜久久久久久久久 | 日韩av电影免费观看高清完整版| 色欧美乱欧美15图片| 欧美激情综合在线| 国产91露脸合集magnet| 国产婷婷一区二区| 国产精品影视网| 国产日韩一级二级三级| 国产一区二区三区久久久| 久久青草欧美一区二区三区| 麻豆成人在线观看| 精品福利一二区| 国产精品一区三区| 国产精品色呦呦| 成人精品一区二区三区四区 | 亚洲另类在线一区| 91视频免费观看| 一区二区三区四区国产精品| 色噜噜狠狠成人中文综合| 亚洲少妇30p| 在线免费不卡电影| 亚洲成人av电影在线| 欧美一卡二卡三卡四卡| 麻豆国产欧美一区二区三区| 久久久久久久综合狠狠综合| 粉嫩av亚洲一区二区图片| 国产精品福利电影一区二区三区四区| 97精品超碰一区二区三区| 一区二区三区在线高清| 91精品国产综合久久精品麻豆| 久久99这里只有精品| 久久精品男人天堂av| 99re在线视频这里只有精品| 亚洲影院免费观看| 91精品国产综合久久精品图片| 韩国女主播成人在线| 国产精品麻豆99久久久久久| 色老综合老女人久久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 2022国产精品视频| 91热门视频在线观看| 日韩国产欧美在线观看| 国产精品久久久久婷婷二区次| 在线观看免费视频综合| 久久精品噜噜噜成人av农村| 亚洲婷婷国产精品电影人久久| 欧美日本一道本| 成人午夜电影网站| 五月激情丁香一区二区三区| 久久久久久影视| 欧美日韩亚洲综合| 岛国av在线一区| 日本视频免费一区| 日韩毛片视频在线看| 日韩欧美国产1| 欧日韩精品视频| 国产91综合网| 麻豆视频观看网址久久| 一区二区国产视频| 日本一区二区三区电影| 欧美一级欧美三级在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 美女视频一区二区| 一二三区精品福利视频| 日本一区二区三区在线不卡| 日韩一区二区三区免费观看| 91久久线看在观草草青青| 国产原创一区二区| 视频一区二区三区入口| 亚洲精品中文在线观看| 国产日韩欧美综合一区| 日韩欧美激情在线| 欧美视频三区在线播放| 91免费在线视频观看| 国产99精品在线观看| 韩国视频一区二区| 丝袜美腿高跟呻吟高潮一区| 亚洲欧美欧美一区二区三区| 国产精品免费aⅴ片在线观看| 精品成人在线观看| 精品久久国产97色综合| 日韩欧美一级片| 91.麻豆视频| 日韩一区二区电影网| 91精品蜜臀在线一区尤物| 欧美日韩日日骚| 欧美三级蜜桃2在线观看| 精品视频一区 二区 三区| 色偷偷久久一区二区三区| 一本大道久久a久久精二百| 99国产精品国产精品久久| 99久久99久久综合| 色综合天天综合网天天看片| 91丝袜国产在线播放| 一本色道久久综合狠狠躁的推荐| 99国产精品一区| 色欧美乱欧美15图片| 欧美视频一区在线| 欧美精品一二三四| 日韩欧美视频在线| 久久久电影一区二区三区| 欧美韩国日本综合| 1区2区3区欧美| 亚洲一区二区中文在线| 日韩精品电影一区亚洲| 另类中文字幕网| 国产成人免费视| 色哟哟国产精品免费观看| 欧美欧美欧美欧美首页| 精品少妇一区二区| 亚洲国产成人在线| 亚洲综合在线免费观看| 麻豆精品蜜桃视频网站| 国产高清成人在线| 在线观看欧美黄色| 欧美大片在线观看| 国产欧美精品区一区二区三区 | 99久久精品免费观看| 色妞www精品视频| 91麻豆精品国产综合久久久久久| 欧美成人r级一区二区三区| 国产欧美精品在线观看| 亚洲国产aⅴ成人精品无吗| 国产麻豆精品theporn| 色狠狠av一区二区三区| 精品国产一区二区三区忘忧草 | 欧洲一区在线观看| 欧美mv日韩mv国产| 亚洲欧美日韩国产手机在线| 美女精品一区二区| 99精品久久只有精品| 精品欧美久久久| 一区二区日韩av| 国产盗摄精品一区二区三区在线| 精品视频一区 二区 三区| 国产无一区二区|