幻灯片放映

来源:互联网 发布:好看的职场小说知乎 编辑:程序博客网 时间:2024/04/30 13:39
## 题目要求 ##

开发一个幻灯片展示程序,加上是个名为slide0.txt,slide1.txt,…….slide9.txt;的文本文件存储在text目录下。每张幻灯片显示一个文件的文本,每张幻灯片持续显示一秒,而且一次显示,当显示完最后一张幻灯片后,重新显示第一张,一次类推。

import java.awt.event.*;import javax.swing.*;public class slide_flash extends JFrame {  private final static int NUMBER_OF_SLIDES = 10;  private final static int SHOW_TIME_PER_SLIDE = 3000;  private int current = 0;  private JTextArea jtaSlide = new JTextArea();  private String[] slides = new String[NUMBER_OF_SLIDES];  public slide_flash() {    add(jtaSlide);        jtaSlide.setWrapStyleWord(true);        jtaSlide.setLineWrap(true);    loadTextToSlides();    jtaSlide.setText(slides[0]);    Timer timer = new Timer(SHOW_TIME_PER_SLIDE, new Listener());    timer.start();  }    private void loadTextToSlides() {    for (int i = 0; i < NUMBER_OF_SLIDES; i++) {      slides[i] = readAFile("text/slide" + i + ".txt");    }  }   private String readAFile(String file) {        String text = "";        try {      java.util.Scanner input = new java.util.Scanner(        new java.io.File(file));      while (input.hasNext())        text += input.nextLine() + "\n";    }        catch (Exception ex) {            ex.printStackTrace();        }    return text;  } class Listener implements ActionListener {      public void actionPerformed(ActionEvent e) {        jtaSlide.setText(slides[current]);        current = (current + 1) % NUMBER_OF_SLIDES;      }  }    public static void main(String[] args) {    slide_flash frame = new slide_flash();    frame.setTitle("Slides Show");    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    frame.setSize(400, 200);    frame.setLocationRelativeTo(null);     frame.setVisible(true);  }}
## 实验结果 ##

省略。。。
出自JAVA语言程序设计(基础篇)17.20

0 0
原创粉丝点击