⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scrollinformation.java

📁 mp3播放功能
💻 JAVA
字号:
package Function;

import java.util.ArrayList;
import javax.swing.JLabel;

/**
 * This class extends Thread,it executes a thread
 * to scroll the information of the audio file,
 * which is being displayed currently.
 * 
 * @author ChenXiaoling
 *
 */

//信息滚动出现 
public class ScrollInformation extends Thread{
	private JLabel nameLabel;
	private String name;
	private int size = 25;
	private int speed =150;
	boolean canStop = false;
	
	public ScrollInformation (JLabel nameLabel, String name){
		this.nameLabel = nameLabel;
		this.name = name;
		
	}
	
	/**
	 * Set the state as true or false to judge whether
	 * the thread can stop or not
	 * 
	 * @param canStop
	 */
	public void setStop(boolean canStop){
		this.canStop = canStop;
	}
	
	/**
	 * Run a thread to scroll the name of a song
	 */
	public void run() {
		// TODO Auto-generated method stub
		String[] nameString = getNameString(name);
		int i = 0;
		while(true){
			if(canStop){
				break;
			}
			if(i == nameString.length){
				i = 0;
			}

			try {
				Thread.sleep(speed);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			nameLabel.setText(nameString[i]);
			i ++;
		}
	}
	
	/**
	 * Get the name string of the current song
	 * and change its form for showing
	 * 
	 * @param name
	 * @return Returns the name string after changing
	 * its form
	 */
	private String[] getNameString(String name){
		String headtail = getHeadTail(size);
		String data  = headtail + name + headtail;
		ArrayList list  = new ArrayList();
		for(int i = size;i < data.length();i ++){
			list.add(data.substring(i - size, i));
		}
		return (String[])list.toArray(new String[list.size()]);
	}


	/**
	 * 
	 * 
	 * @param size
	 * @return Returns space characters
	 */
	private String getHeadTail(int size){
		StringBuffer buffer = new StringBuffer();
		for(int i = 0;i < size;i ++){
			buffer.append(' ');
		}
		return buffer.toString();
	}

	/**
	 * Set the speed of scrolling the name string
	 * 
	 * @param speed
	 */
	public void setSpeed(int speed) {
		this.speed = speed;
	}

	/**
	 * 
	 * @param size
	 */
	public void setWindowSize(int size) {
		this.size = size;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -