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

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

?? mp3player.java

?? java編的mp3播放器
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
package mp3x;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.List;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.util.HashMap;
import java.util.Random;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.JTextField;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

import javazoom.jlgui.basicplayer.BasicPlayerEvent;
import mp3x.ctl.PlayerControl;
import mp3x.ctl.Mp3TVShow;
import mp3x.drag.WindowDragControl;
import mp3x.tool.CutAndMerge;
import mp3x.tool.ScrollThread;
import mp3x.vo.MP3FileFilter;
import mp3x.vo.Mp3Enum;
import mp3x.vo.SongVO;



public class Mp3Player extends JFrame {


	private JPanel contentPanel = null;
	private JSlider volumnSlider = null;
	private JCheckBox muteCheckBox = null;
	private JPanel headPanel = null;
	private JLabel nameLabel = null;
	private JLabel playLabel = null;
	private JLabel totalTimeLabel = null;
	private JPanel visualPanel = null;
	private JSlider processSlider = null;
	private JButton playlistButton = null;
	private JButton stopButton = null;
	private JButton playButton = null;
	private JButton previousButton = null;
	private JButton nextButton = null;
	private JButton cutButton = null;
	private JButton mergeButton = null;
	private JFrame playListFrame = null;  //  @jve:decl-index=0:visual-constraint="11,176"
	private JPanel jContentPane = null;
	private List playList = null;
	private JButton addButton = null;
	private JButton removeButton = null;
	private JFrame cutFrame = null;  //  @jve:decl-index=0:visual-constraint="11,396"
	private JPanel jContentPane1 = null;
	private JFrame mergeFrame = null;  //  @jve:decl-index=0:visual-constraint="11,580"
	private JPanel jContentPane2 = null;
	private HashMap songMap = new HashMap();
	private Mp3TVShow  mp3TVShow = new Mp3TVShow();
	private PlayerCTL playerCTL = new PlayerCTL();  //  @jve:decl-index=0:
	private boolean progressSliderDrag = false;
	
	private int plstate = Mp3Enum.PLSTATE_HIDE;
	private int playBtnState = Mp3Enum.INIT;
	private int cutFrameState = Mp3Enum.CUTFRAME_HIDE;
	private int mergeFrameState = Mp3Enum.MERGEFRAME_HIDE;
	
	private JSlider startSlider = null;
	private JSlider endSlider = null;
	private JLabel jLabel = null;
	private JLabel jLabel1 = null;
	private JTextField cutFilePath = null;
	private JButton cutPathButton = null;
	private JButton cutExecButton = null;
	private JButton addMergeButton = null;
	private JButton removeMergeButton = null;
	private List mergeList = null;
	private JTextField mergedFilePath = null;
	private JButton mergePathButton = null;
	private JButton mergeExecButton = null;
	private JDialog warningDialog = null;  //  @jve:decl-index=0:visual-constraint="330,685"
	private JPanel jContentPane3 = null;
	private JLabel jLabel2 = null;
	private JButton sureButton = null;
	
	private ScrollThread scrollThread = null;
	
	private WindowDragControl windowDragControl = new WindowDragControl(this);
	private JCheckBox circleCheckBox = null;
	private JCheckBox shuffleCheckBox = null;

	/**
	 * This method initializes 
	 * 
	 */
	public Mp3Player() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 */
	private void initialize() {
        this.setSize(new Dimension(305, 164));
        this.setTitle("mymp3player");
        this.setContentPane(getContentPanel());
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setResizable(false);
        this.setLocation(200, 100);
        playerCTL.setTVShow(mp3TVShow);
       
	}
	
	
	

	/**
	 * This method initializes contentPanel	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getContentPanel() {
		if (contentPanel == null) {
			totalTimeLabel = new JLabel();
			totalTimeLabel.setText("00:00");
			totalTimeLabel.setBounds(new Rectangle(248, 2, 38, 17));
			playLabel = new JLabel();
			playLabel.setText("00:00");
			playLabel.setBounds(new Rectangle(185, 1, 41, 16));
			nameLabel = new JLabel();
			nameLabel.setText("");
			nameLabel.setBounds(new Rectangle(2, 2, 153, 16));
			contentPanel = new JPanel();
			contentPanel.setLayout(null);
			contentPanel.add(getVolumnSlider(), null);
			contentPanel.add(getMuteCheckBox(), null);
			contentPanel.add(getHeadPanel(), null);
			contentPanel.add(getVisualPanel(), null);
			contentPanel.add(getProcessSlider(), null);
			contentPanel.add(getPlaylistButton(), null);
			contentPanel.add(getStopButton(), null);
			contentPanel.add(getPlayButton(), null);
			contentPanel.add(getPreviousButton(), null);
			contentPanel.add(getNextButton(), null);
			contentPanel.add(getCutButton(), null);
			contentPanel.add(getMergeButton(), null);
			contentPanel.add(getCircleCheckBox(), null);
			contentPanel.add(getShuffleCheckBox(), null);
			
		}
		return contentPanel;
	}







	/**
	 * This method initializes volumnSlider	
	 * 	
	 * @return javax.swing.JSlider	
	 */
	private JSlider getVolumnSlider() {
		if (volumnSlider == null) {
			volumnSlider = new JSlider();
			volumnSlider.setBounds(new Rectangle(157, 28, 88, 16));
			volumnSlider.addChangeListener(new ChangeListener(){

				public void stateChanged(ChangeEvent e) {
					// TODO Auto-generated method stub
					setVolumn();
				}
				
			});
		}
		return volumnSlider;
	}
	
	private void setVolumn(){
		if(getVolumnSlider().isEnabled()){			
			double gain = getVolumnSlider().getValue()*1.0/getVolumnSlider().getMaximum();
			playerCTL.setVolumnGain(gain);
		}else{
			playerCTL.setVolumnGain(0);
		}

	}

	/**
	 * This method initializes muteCheckBox	
	 * 	
	 * @return javax.swing.JCheckBox	
	 */
	private JCheckBox getMuteCheckBox() {
		if (muteCheckBox == null) {
			muteCheckBox = new JCheckBox();
			muteCheckBox.setBounds(new Rectangle(244, 27, 53, 21));
			muteCheckBox.setText("靜音");
			muteCheckBox.addChangeListener(new ChangeListener(){

				public void stateChanged(ChangeEvent e) {
					// TODO Auto-generated method stub
					if(muteCheckBox.isSelected()){
						getVolumnSlider().setEnabled(false);
					}else{						
						getVolumnSlider().setEnabled(true);
					}
					setVolumn();
				}
				
			});
		}
		return muteCheckBox;
	}

	/**
	 * This method initializes headPanel	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getHeadPanel() {
		if (headPanel == null) {
			headPanel = new JPanel();
			headPanel.setLayout(null);
			headPanel.setBounds(new Rectangle(2, 2, 293, 20));
			headPanel.add(nameLabel, null);
			headPanel.add(playLabel, null);
			headPanel.add(totalTimeLabel, null);
			headPanel.setBorder(BorderFactory.createEtchedBorder());
		}
		return headPanel;
	}

	/**
	 * This method initializes visualPanel	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getVisualPanel() {
		if (visualPanel == null) {
			visualPanel = new JPanel();
			visualPanel.setLayout(new BorderLayout());
			visualPanel.setBounds(new Rectangle(3, 24, 154, 54));
			visualPanel.setBorder(BorderFactory.createEtchedBorder());
			visualPanel.add(mp3TVShow,BorderLayout.CENTER);
		}
		return visualPanel;
	}

	/**
	 * This method initializes processSlider	
	 * 	
	 * @return javax.swing.JSlider	
	 */
	private JSlider getProcessSlider() {
		if (processSlider == null) {
			processSlider = new JSlider();
			processSlider.setBounds(new Rectangle(5, 82, 243, 19));
			processSlider.setValue(0);
			processSlider.addChangeListener(new ChangeListener(){

				public void stateChanged(ChangeEvent e) {
					// TODO Auto-generated method stub
					
					if(!processSlider.getValueIsAdjusting()){
						if(progressSliderDrag){			
							progressSliderDrag = false;
							double rate = processSlider.getValue()*1.0/processSlider.getMaximum();
							playerCTL.seek(rate);
							setVolumn();
						}
					}else{
						progressSliderDrag = true;
					}
				}
				
			});
		}
		return processSlider;
	}

	/**
	 * This method initializes playlistButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getPlaylistButton() {
		if (playlistButton == null) {
			playlistButton = new JButton();
			playlistButton.setBounds(new Rectangle(195, 104, 48, 19));
			playlistButton.setText("pl");
			playlistButton.addActionListener(new ActionListener(){

				public void actionPerformed(ActionEvent e) {
					// TODO Auto-generated method stub
					showPlayListFramLocation();	
				}

			});
		}
		return playlistButton;
	}
	
	private void showPlayListFramLocation(){
		if(plstate == Mp3Enum.PLSTATE_HIDE){	
			getPlayListFrame().setLocation(this.getX(), this.getY()+this.getHeight());
			getPlayListFrame().setVisible(true);
			plstate = Mp3Enum.PLSTATE_SHOW;
		}else{
			getPlayListFrame().setVisible(false);
			plstate = Mp3Enum.PLSTATE_HIDE;

		}
	}
	

	
	private void addFileToList(){
		SongVO[] songs = loadFilesByJF();
		if(songs != null){			
			for(int i = 0;i < songs.length;i ++){
				if(!songMap.containsKey(songs[i].getName())){
					songMap.put(songs[i].getName(), songs[i]);
					getPlayList().add(songs[i].getName());
				}
			}
		}

	}
	
	private void removeFileFromList(){
		String[] selected = getPlayList().getSelectedItems();
		for(int i = 0;i < selected.length;i ++){
			getPlayList().remove(selected[i]);
			songMap.remove(selected[i]);
		}
	}

	
	private SongVO[] loadFilesByJF(){
		JFileChooser chooser = new JFileChooser();
		chooser.setMultiSelectionEnabled(true);
		chooser.setFileFilter(new MP3FileFilter());
		int returnVal = chooser.showOpenDialog(this);
		if(returnVal == JFileChooser.APPROVE_OPTION) {
			File[] selectedFiles = chooser.getSelectedFiles();
			SongVO[] songNames = new SongVO[selectedFiles.length];
			for(int i = 0;i < songNames.length;i ++){
				songNames[i] = new SongVO(selectedFiles[i].getName(),selectedFiles[i].getAbsolutePath());
			}
			return songNames;
		}else{
			return null;
		}

	}

	

	/**
	 * This method initializes stopButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getStopButton() {
		if (stopButton == null) {
			stopButton = new JButton();
			stopButton.setBounds(new Rectangle(0, 104, 52, 19));
			stopButton.setText("s");
			stopButton.addActionListener(new ActionListener(){

				public void actionPerformed(ActionEvent e) {
					// TODO Auto-generated method stub
					playerCTL.stop();
					playBtnState = Mp3Enum.STOP;
					getPlayButton().setText(">");
				}
				
			});
		}
		return stopButton;
	}

	/**
	 * This method initializes playButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getPlayButton() {
		if (playButton == null) {
			playButton = new JButton();
			playButton.setBounds(new Rectangle(101, 104, 44, 19));
			playButton.setText(">");
			playButton.addActionListener(new ActionListener(){
				
				public void actionPerformed(ActionEvent e) {
					// TODO Auto-generated method stub					
					dealPlayBtn();
				}

			});
		}
		return playButton;
	}
	
	private void dealPlayBtn(){
		if(playBtnState == Mp3Enum.INIT || playBtnState == Mp3Enum.STOP){
			getPlayButton().setText("||");
			playBtnState = Mp3Enum.PLAY;
			playSelectedSong();
		}else if(playBtnState == Mp3Enum.PLAY || playBtnState == Mp3Enum.RESUME){
			getPlayButton().setText(">");
			playBtnState = Mp3Enum.PAUSE;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产伦一区二区三区观看方式| 日本一区二区三区四区在线视频| 精品国产区一区| 亚洲精品国产成人久久av盗摄| 久久99日本精品| 欧美日韩一级二级| 亚洲日本va在线观看| 国产乱码精品一区二区三区忘忧草| 91小视频在线免费看| 国产亚洲精品久| 经典三级视频一区| 日韩午夜在线观看| 亚洲成国产人片在线观看| 91色视频在线| 国产精品美日韩| 国产成人在线免费观看| 精品国产一区二区三区四区四 | 亚洲精品一区二区三区在线观看| 亚洲成人av一区二区| 99久久伊人网影院| 中文字幕免费在线观看视频一区| 久久成人免费电影| 精品久久一二三区| 精品一区二区免费在线观看| 日韩一级成人av| 蜜桃传媒麻豆第一区在线观看| 欧美在线色视频| 亚洲福利一区二区三区| 欧美日韩一区二区三区四区五区| 亚洲精品视频在线观看免费| 91日韩精品一区| 一区二区三区视频在线观看| 在线视频欧美精品| 性做久久久久久| 91精品免费观看| 麻豆精品久久久| 久久久久久久久久久电影| 国产乱码精品一区二区三区忘忧草| 久久综合av免费| 成人深夜在线观看| 亚洲人成精品久久久久久| 色哟哟一区二区三区| 调教+趴+乳夹+国产+精品| 日韩欧美在线影院| 国产成人在线视频播放| 一色屋精品亚洲香蕉网站| 欧美亚洲动漫制服丝袜| 视频一区二区三区入口| 日韩午夜av电影| 成人免费电影视频| 亚洲尤物视频在线| 欧美一二三区精品| 国产91精品入口| 亚洲va韩国va欧美va| 日韩欧美区一区二| 成人伦理片在线| 午夜精品123| 国产亚洲精品福利| 一本一道久久a久久精品| 亚洲一区在线观看视频| 26uuu亚洲综合色| 91小视频在线观看| 免费在线观看不卡| 中文字幕视频一区二区三区久| 欧美日韩精品一区二区三区四区 | 在线观看一区二区视频| 美腿丝袜亚洲三区| 亚洲欧美日韩国产另类专区| 欧美日韩国产系列| 顶级嫩模精品视频在线看| 亚洲影视资源网| 国产欧美日韩久久| 日韩一级精品视频在线观看| 成人av中文字幕| 久久综合综合久久综合| 亚洲男女毛片无遮挡| 精品国产乱码久久久久久免费| 91成人免费网站| 国产suv精品一区二区三区| 视频一区中文字幕| 亚洲激情av在线| 欧美激情一区二区三区四区| 欧美一级二级三级蜜桃| 欧美色男人天堂| 成人性视频免费网站| 免费看欧美女人艹b| 亚洲摸摸操操av| 国产精品欧美精品| 久久久91精品国产一区二区精品 | 欧美日本一区二区| 91丨九色丨蝌蚪富婆spa| 国产综合久久久久久久久久久久| 亚洲综合在线五月| 国产精品久久99| 久久九九影视网| 国产亚洲成aⅴ人片在线观看| 日韩视频在线观看一区二区| 欧美午夜电影在线播放| 色94色欧美sute亚洲13| 色综合久久综合网97色综合 | 国产精品成人在线观看 | 91精品免费观看| 欧美三级电影一区| 国产成人激情av| 国产电影一区二区三区| 精品在线一区二区三区| 日韩成人免费看| 日本不卡在线视频| 日本中文字幕一区二区有限公司| 亚洲一二三四区| 亚洲夂夂婷婷色拍ww47| 亚洲一级二级三级在线免费观看| 依依成人综合视频| 亚洲一区二区欧美激情| 午夜精品久久久久久久久| 日韩电影免费一区| 久久精品国产免费| 国产美女在线精品| 国产精品一区二区三区乱码| 国产91精品欧美| 99久久99久久精品免费看蜜桃| 一本色道久久综合亚洲91 | www.成人在线| 成人国产精品免费观看动漫| 91在线云播放| 欧美天天综合网| 91麻豆精品国产| 久久这里只有精品视频网| 国产欧美日韩在线观看| 国产精品伦一区| 亚洲国产精品一区二区久久 | 精品三级在线看| 国产亚洲午夜高清国产拍精品| 国产精品欧美一区喷水| 亚洲综合视频在线观看| 蜜臀va亚洲va欧美va天堂| 蜜乳av一区二区| 成人免费视频视频| 欧美性一二三区| 精品久久久久久久久久久院品网| 日韩精品一区二区三区在线观看| 久久―日本道色综合久久| 国产精品灌醉下药二区| 天天影视色香欲综合网老头| 精品一区二区三区视频在线观看 | 欧美巨大另类极品videosbest| 日韩女优毛片在线| 中文字幕中文字幕中文字幕亚洲无线 | 国产精品一卡二| 欧美伊人精品成人久久综合97| 日韩亚洲电影在线| 亚洲欧洲综合另类| 久久99精品久久久久久| 91麻豆免费观看| 欧美不卡一区二区三区四区| 亚洲三级理论片| 另类的小说在线视频另类成人小视频在线| 岛国精品一区二区| 欧美麻豆精品久久久久久| 国产情人综合久久777777| 五月婷婷色综合| 99久久婷婷国产综合精品| 欧美一区二区三区啪啪| 亚洲另类在线视频| 国产精品一卡二卡在线观看| 3d动漫精品啪啪一区二区竹菊| 中文字幕一区二区三区色视频 | 99久久久无码国产精品| 精品精品欲导航| 亚洲一区在线观看视频| 暴力调教一区二区三区| 欧美成人video| 天天av天天翘天天综合网| 99精品国产视频| 欧美r级在线观看| 免费在线视频一区| 精品视频999| 亚洲精品国产无套在线观| 国产成a人无v码亚洲福利| 精品日韩欧美在线| 亚洲国产成人av好男人在线观看| 成人国产精品免费观看视频| 久久亚洲一区二区三区明星换脸 | 国产精品1区2区3区| 欧美一区二区三区四区视频| 亚洲一区在线观看网站| 一本色道**综合亚洲精品蜜桃冫 | 2019国产精品| 日本大胆欧美人术艺术动态| 精品欧美一区二区久久| 丝袜美腿成人在线| 777久久久精品| 亚洲成人免费电影| 在线观看视频一区二区| 亚洲一级二级三级在线免费观看| 91天堂素人约啪| 亚洲制服欧美中文字幕中文字幕| 91黄色小视频| 亚洲韩国精品一区| 欧美日本一区二区在线观看|