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

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

?? source.java

?? mp3播放功能
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package MP3;

import java.awt.*;
import java.awt.event.*;
import java.io.*;

import java.text.*;

import javax.swing.*;
import javax.swing.border.EtchedBorder;
import javax.swing.event.*;

import javazoom.jlgui.basicplayer.BasicPlayerEvent;

import WindowType.DragWindowControl;
import Function.Characters;
import Function.ScrollInformation;
import Function.SongString;

import com.jgoodies.forms.factories.*;
import com.jgoodies.forms.layout.*;

/**
 * Created by JFormDesigner on Thu Jul 10 10:22:25 CST 2008 The main class of
 * OurMp3 Constructer to set the size ,shape and location of the player And
 * create the playlist ,make it unvisible Add MouseListener to the Playlist to
 * play the song,when click one of the songs twice successively It can also save
 * the song list when you open it again
 * 
 * @see substance.jar
 * @author ChenXiaoling
 * @author DuXiaojing
 */

public class Source extends JFrame {

	public Source() {
		this.setUndecorated(true);
		initComponents();
		//==================改變皮膚==============================
		try {

			UIManager
					.setLookAndFeel("org.jvnet.substance.skin.SubstanceGreenMagicLookAndFeel");
			SwingUtilities.updateComponentTreeUI(this);

		} catch (Exception e) {
			e.printStackTrace();
		}

		setSize(295, 185);
		setLocationRelativeTo(null);// 居中顯示
		setVisible(true);
		setResizable(false);
		playlist = new Playlist();
		playlist.setVisible(false);
		msize = new MiniSize();
		msize.setVisible(false);
		windowDragControl.addSubWindow(playlist);
		
		playlist.Playlist.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e) {
				// TODO Auto-generated method stub
				if (e.getClickCount() == 2) { // ////// //雙擊時觸發
					dealPlay();
				}
			}
		});
		
		
		// =============裝載原有列表===========
		try {
			input = new ObjectInputStream(new FileInputStream("All.dat"));
			String name = (String) input.readObject();
			rec = new Record();
			while (name != null) {
				playlist.model.addElement(name);
				name = (String) input.readObject();
			}
			input.close();
		} catch (ClassNotFoundException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} catch (EOFException end) {
			try {
				input.close();
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();

			}
		} catch (FileNotFoundException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}

	}

	Point loc = null;

	Point tmp = null;

	boolean isDragged = false;

	/**
	 * the method is used to drag the Player window Add MouseListener and
	 * MouseMotionListener. Use Point object loc and tmp to get the location.
	 * 
	 * @return void
	 */
	private void setDragable() {
		this.addMouseListener(new java.awt.event.MouseAdapter() {
			public void mouseReleased(java.awt.event.MouseEvent e) {
				isDragged = false;
				setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
			}

			public void mousePressed(java.awt.event.MouseEvent e) {
				tmp = new Point(e.getX(), e.getY());
				isDragged = true;
				setCursor(new Cursor(Cursor.MOVE_CURSOR));
			}
		});
		this.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
			public void mouseDragged(java.awt.event.MouseEvent e) {
				if (isDragged) {
					loc = new Point(getLocation().x + e.getX() - tmp.x,
							getLocation().y + e.getY() - tmp.y);
					setLocation(loc);
				}
			}
		});
	}

	/**
	 * Method to make the JLable object Information start to move .
	 * 
	 * @see Function.ScrollInformation
	 */

	//======================= make information scroll in the panel
	private void scrollInformation() {
		if (scrollInfo != null) {
			scrollInfo.setStop(true);
		}
		scrollInfo = new ScrollInformation(Information, playlist.Playlist
				.getSelectedItem());
		scrollInfo.start();
		if (scrollInfo1 != null) {
			scrollInfo1.setStop(true);
		}
		scrollInfo1 = new ScrollInformation(MInformation, playlist.Playlist
				.getSelectedItem());
		scrollInfo1.start();

	}

	/**
	 * Method to make the JSlider object Progress draggable
	 * 
	 * @see JSlider
	 */
 
	private void ProgressStateChanged() {
		// TODO add your code here
		if (canDrag) {
			if (!Progress.getValueIsAdjusting()) {
				if (progressDrag) {
					progressDrag = false;
					double rate = Progress.getValue() * 1.0
							/ Progress.getMaximum();
					control.seek(rate);
					setVolumn();
				}
			} else {
				progressDrag = true;
			}
		} else {
			Progress.setEnabled(false);

		}
	}

	/**
	 * Invoked when press the button AddPack Method to add songs to the Playlist
	 * 
	 * @param e ActionEvent object
	 */

	private void AddPackActionPerformed(ActionEvent e) {
		// TODO add your code here
		playlist.addFileToList();
	}

	/**
	 * Invoked when press the button Previous Method to get the previous songs
	 * to the Playlist
	 * 
	 * @param e  ActionEvent object
	 */
	private void PreviousActionPerformed(ActionEvent e) {
		// TODO add your code here
		int previousIndex = getPreviousSongIndex();
		playlist.Playlist.select(previousIndex);        
		dealPlay();
	}

	/**
	 * Method to get the index of the previous song Judge the playing model
	 * before that
	 * 
	 */
	private int getPreviousSongIndex() {
		int previousIndex = -1;
		int currentindex = getCurrentSelectedIndex();
		if (currentindex >= 0) {
			boolean isRotate = Rotate.isSelected();
			boolean isShuffle = Shuffle.isSelected();
			boolean isOrder = Order.isSelected();
			boolean isSingle = Single.isSelected();
			if (isOrder) {
				if (currentindex == 0)
					previousIndex = 0;
				else
					previousIndex = currentindex - 1;
			} else if (isRotate) {
				if (currentindex == 0)
					previousIndex = playlist.Playlist.getItemCount() - 1;   
				else
					previousIndex = currentindex - 1;

			}

			else if (isShuffle) {
				int now = (int) (Math.random() * (playlist.Playlist
						.getItemCount())) - 1;
				while (getCurrentSelectedIndex() == now)
					now = (int) (Math.random() * (playlist.Playlist
							.getItemCount())) - 1;
				previousIndex = now;

			} else if (isSingle)
				previousIndex = 0;
			else
				previousIndex = currentindex;
		}
		return previousIndex;
	}

	/**
	 * Invoked when press the button PausePlay Method to Pause or Play the song
	 * 
	 * @param e   ActionEvent object
	 */
	private void PausePlayActionPerformed(ActionEvent e) {
		// TODO add your code here
		PlayPause();
	}

	private void PlayPause() {
		if (playPauseState == Characters.INIT
				|| playPauseState == Characters.STOP) {
			PausePlay.setText("||");
			playPauseState = Characters.PLAY;
			playSelectedSong();
		} else if (playPauseState == Characters.PLAY
				|| playPauseState == Characters.RESUME) {
			PausePlay.setText("Play");
			playPauseState = Characters.PAUSE;
			control.pause();
		} else if (playPauseState == Characters.PAUSE) {
			PausePlay.setText("||");
			playPauseState = Characters.RESUME;
			control.resume();

		}
	}

	/**
	 * Method to play the selected song
	 */

	private void playSelectedSong() {
		// int count=0;
		int selectedIndex = getCurrentSelectedIndex();
		if (selectedIndex >= 0) {
			scrollInformation();
			control.stop();
			String selectedSong = playlist.Playlist.getItem(selectedIndex); 
			SongString sv = (SongString) playlist.hashmap.get(selectedSong);
			String songPath = sv.getPath();
			control.openSong(songPath);
			control.play();
			setVolumn();
			TotalTime.setText(secondToTime((int) control.getTotalTimeSecond()));
			canDrag = true;
			Progress.setEnabled(true);

		}
	}

	/**
	 * Method to get the index of the selected song
	 * 
	 * @return int the index
	 */
	private int getCurrentSelectedIndex() {
		int selectedIndex = playlist.Playlist.getSelectedIndex();
		if (selectedIndex < 0) {
			if (playlist.Playlist.getItemCount() > 0) {
				selectedIndex = 0;
				playlist.Playlist.select(selectedIndex);
			}
		}
		return selectedIndex;
	}

	/**
	 * make the time display in format"00:00"
	 * 
	 * @param second   the time length of a song
	 * @return String the time format
	 */
	String secondToTime(int second) {
		DecimalFormat twoDigits = new DecimalFormat("00");
		int minutes = (int) Math.floor(second / 60);
		int hours = (int) Math.floor(minutes / 60);
		minutes = minutes - hours * 60;
		second = second - minutes * 60 - hours * 3600;
		if (hours == 0)
			return twoDigits.format(minutes) + ":" + twoDigits.format(second);
		else
			return twoDigits.format(hours) + ":" + twoDigits.format(minutes)
					+ ":" + twoDigits.format(second);

	}

	/**
	 * Invoked when press the button Next Method to play the next song of the
	 * selected one
	 * 
	 * @param e   ActionEvent object
	 */
	private void NextActionPerformed(ActionEvent e) {
		// TODO add your code here
		int nextIndex = getNextSongIndex();
		playlist.Playlist.select(nextIndex); 
		dealPlay();
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本大道久久精品懂色aⅴ| 成人免费视频一区| 国产蜜臀97一区二区三区| 色综合欧美在线视频区| 精品在线观看视频| 伊人性伊人情综合网| 久久久精品免费免费| 欧美剧情片在线观看| av一二三不卡影片| 久久se这里有精品| 亚洲国产日日夜夜| 中文字幕一区二区三区在线观看| 26uuu国产一区二区三区| 欧美日韩精品久久久| 99久久婷婷国产综合精品| 韩国av一区二区三区| 日韩va欧美va亚洲va久久| 一区二区三区色| 国产精品视频yy9299一区| 亚洲精品一线二线三线无人区| 欧美三级三级三级爽爽爽| 97se亚洲国产综合自在线观| 国产成人精品免费视频网站| 久久99蜜桃精品| 日韩国产在线观看一区| 一区二区三区免费| 亚洲人成人一区二区在线观看| 欧美极品少妇xxxxⅹ高跟鞋| 久久久亚洲高清| 精品久久人人做人人爽| 日韩视频永久免费| 欧美一级在线免费| 在线成人免费视频| 精品视频全国免费看| 欧美亚洲国产一区二区三区| 色系网站成人免费| 99re这里只有精品6| 99这里只有精品| 成人app网站| 不卡一卡二卡三乱码免费网站| 国产精品456| 国产成人av在线影院| 国产91富婆露脸刺激对白| 91久久国产最好的精华液| 国产成人免费在线| 国产福利视频一区二区三区| 国产suv精品一区二区6| 成人国产在线观看| 99在线视频精品| 欧洲av一区二区嗯嗯嗯啊| 在线观看免费视频综合| 精品视频一区三区九区| 3atv一区二区三区| 欧美变态口味重另类| 欧美精品一区二区三区高清aⅴ | 成人激情午夜影院| 成人高清视频在线| 91亚洲精品乱码久久久久久蜜桃| 97精品视频在线观看自产线路二| 在线观看日韩一区| 日韩三级.com| 国产片一区二区三区| 欧美视频中文字幕| 丁香桃色午夜亚洲一区二区三区| 精品久久久久久久久久久院品网 | 亚洲一二三四区| 亚洲一本大道在线| 蜜臀久久99精品久久久久宅男 | 欧美视频中文字幕| 日韩欧美一级二级| 国产免费久久精品| 亚洲成精国产精品女| 久久精品国产精品青草| 国产精品羞羞答答xxdd| 91香蕉视频污在线| 日韩一区二区三区高清免费看看| 精品美女在线播放| 亚洲蜜臀av乱码久久精品| 免费在线观看不卡| 91香蕉视频污在线| 欧美电影免费观看高清完整版在 | 一区二区三区在线视频免费| 日本vs亚洲vs韩国一区三区| 国产成人在线影院| 色999日韩国产欧美一区二区| 日韩视频一区二区| 亚洲天堂免费在线观看视频| 日韩高清中文字幕一区| 成人免费福利片| 欧美日韩国产成人在线免费| 久久精品日产第一区二区三区高清版| 亚洲乱码国产乱码精品精98午夜| 蜜桃一区二区三区在线| 日韩欧美在线观看一区二区三区| 国产精品嫩草影院av蜜臀| 日韩av不卡在线观看| 99久久国产综合色|国产精品| 欧美一区二区久久| 亚洲精品欧美综合四区| 国产精华液一区二区三区| 欧美高清你懂得| 亚洲视频1区2区| 国产精品综合久久| 91精品国产色综合久久ai换脸 | 成人免费三级在线| 日韩一卡二卡三卡四卡| 亚洲黄色免费电影| 国产高清在线观看免费不卡| 91精品国产高清一区二区三区| 亚洲色图欧美在线| 国产精品911| 欧美一区二区视频在线观看2020 | 国产精品羞羞答答xxdd| 欧美精品乱人伦久久久久久| 亚洲视频中文字幕| 国产一区二区三区美女| 欧美一区二区三区爱爱| 亚洲一二三四区| aaa欧美日韩| 国产精品三级av| 国产激情视频一区二区三区欧美 | 亚洲国产高清aⅴ视频| 精油按摩中文字幕久久| 5566中文字幕一区二区电影| 亚洲午夜免费电影| 色av一区二区| 一区二区三区日韩在线观看| 色哟哟亚洲精品| 亚洲色欲色欲www在线观看| 成人精品视频.| 国产喷白浆一区二区三区| 国产a久久麻豆| 国产欧美视频在线观看| 国产成人精品免费一区二区| 国产日韩成人精品| 国产成人日日夜夜| 亚洲国产成人午夜在线一区| 国产成人超碰人人澡人人澡| 国产精品天干天干在线综合| 福利一区福利二区| 中文字幕精品在线不卡| 成人免费视频视频在线观看免费| 中文字幕第一区综合| 大胆欧美人体老妇| 中文字幕一区二区三区四区不卡| 风间由美中文字幕在线看视频国产欧美| 欧美精品一区二区在线观看| 韩国v欧美v亚洲v日本v| 欧美韩日一区二区三区四区| av在线播放一区二区三区| 樱花草国产18久久久久| 5566中文字幕一区二区电影| 精品一区精品二区高清| 久久九九99视频| 99精品久久久久久| 亚洲成av人片www| 日韩精品中文字幕在线一区| 国产精品亚洲午夜一区二区三区 | 欧美日本一区二区三区| 日韩不卡一区二区三区| 久久久噜噜噜久噜久久综合| 国产白丝网站精品污在线入口| 亚洲欧洲精品成人久久奇米网| 色素色在线综合| 天天做天天摸天天爽国产一区| 日韩欧美黄色影院| 成人高清视频在线观看| 亚洲国产一区二区三区青草影视| 日韩欧美自拍偷拍| 99国内精品久久| 日韩高清不卡一区| 国产亚洲精品bt天堂精选| 91色综合久久久久婷婷| 成人av资源网站| 一区二区三区四区国产精品| 精品久久久久久无| 91丨国产丨九色丨pron| 日本va欧美va欧美va精品| 国产欧美久久久精品影院| 在线免费一区三区| 久久精品国产99久久6| 国产精品久久久久久久久免费桃花| 91黄色免费观看| 国产最新精品精品你懂的| 亚洲视频小说图片| 日韩精品中文字幕在线不卡尤物| 成人网在线免费视频| 三级亚洲高清视频| 国产精品女上位| 日韩欧美电影一区| 色国产精品一区在线观看| 国产精品一区免费在线观看| 亚洲激情图片qvod| 久久精品免视看| 欧美丰满嫩嫩电影| 色婷婷亚洲婷婷| 国产乱码精品一区二区三| 亚洲 欧美综合在线网络| 国产精品乱码一区二三区小蝌蚪| 欧美一区二区精品久久911|