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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mp3player.java

?? java編的mp3播放器
?? JAVA
?? 第 1 頁 / 共 3 頁
字號(hào):
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;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品免费精品国产| 欧美激情一区二区在线| 国内成人精品2018免费看| 国产精品久久久久久久岛一牛影视| 99国产精品国产精品毛片| 三级久久三级久久久| 中文字幕在线一区| 精品国产91久久久久久久妲己 | 欧美日韩久久不卡| 成人黄页在线观看| 久久精品国产精品亚洲综合| 一二三区精品视频| 国产精品美女久久久久久久久| 日韩视频一区二区三区在线播放| 91丨porny丨最新| 国产精品香蕉一区二区三区| 日韩av午夜在线观看| 一区二区三区丝袜| 中文字幕中文字幕一区二区| 国产午夜精品一区二区三区视频| 欧美一区二区福利视频| 在线观看国产91| 91麻豆视频网站| 成人污视频在线观看| 国产美女精品在线| 日韩电影在线免费看| 亚洲资源中文字幕| 亚洲免费av在线| 中文字幕在线不卡| 18欧美亚洲精品| 中文字幕五月欧美| 国产精品护士白丝一区av| 欧美国产国产综合| 中文子幕无线码一区tr| 国产午夜精品理论片a级大结局 | 国产不卡在线一区| 国产乱子伦视频一区二区三区| 裸体一区二区三区| 美国毛片一区二区三区| 男人的天堂久久精品| 日韩av电影免费观看高清完整版 | eeuss鲁一区二区三区| 成人晚上爱看视频| 不卡大黄网站免费看| 不卡一区二区在线| 一本一道波多野结衣一区二区 | 精品视频在线免费观看| 在线观看不卡视频| 欧美日韩成人高清| 欧美一区二视频| 精品国免费一区二区三区| 日韩三级高清在线| 久久久久久免费毛片精品| 久久精品这里都是精品| 成人免费在线视频观看| 一区二区三区鲁丝不卡| 亚洲va中文字幕| 美女脱光内衣内裤视频久久网站| 极品销魂美女一区二区三区| 国产一本一道久久香蕉| www.久久久久久久久| 日本韩国欧美国产| 欧美一区二区三区免费在线看| 精品裸体舞一区二区三区| 2021中文字幕一区亚洲| 国产精品成人一区二区三区夜夜夜| 亚洲精品高清视频在线观看| 日本 国产 欧美色综合| 成人综合在线观看| 91福利视频在线| 精品处破学生在线二十三| 国产精品久久夜| 午夜激情综合网| 国产高清成人在线| 欧美视频一区在线观看| 精品久久久久一区二区国产| 亚洲少妇30p| 日本不卡视频在线观看| av电影在线观看完整版一区二区| 欧美日韩久久久久久| 国产欧美精品区一区二区三区| 一区二区不卡在线播放 | 国产又黄又大久久| 色哟哟国产精品| 精品动漫一区二区三区在线观看| 亚洲青青青在线视频| 激情欧美一区二区| 欧美亚洲丝袜传媒另类| 久久综合九色综合久久久精品综合| 综合精品久久久| 精品一二线国产| 欧美性色欧美a在线播放| 久久久久久久久久看片| 亚洲国产精品人人做人人爽| 国产精品一区一区三区| 在线观看一区二区视频| 久久久五月婷婷| 亚洲va天堂va国产va久| jiyouzz国产精品久久| 欧美mv日韩mv国产网站app| 一个色综合av| 成人性生交大片免费看在线播放| 欧美精品在线一区二区三区| 国产亚洲精品免费| 日本 国产 欧美色综合| 在线看国产一区| 中文字幕一区免费在线观看| 韩国女主播一区| 4438x亚洲最大成人网| 日韩美女视频19| 国产成人精品免费网站| 日韩午夜在线播放| 亚洲大片免费看| 在线看国产一区| 亚洲视频一二三区| 成人中文字幕在线| 久久精品一区二区三区不卡牛牛| 蜜桃精品视频在线| 欧美一区日韩一区| 天天爽夜夜爽夜夜爽精品视频| 91理论电影在线观看| 国产精品私人自拍| 国产成人午夜精品5599| 日韩美女一区二区三区四区| 五月天一区二区三区| 欧美日韩国产另类一区| 亚洲制服丝袜一区| 欧美日韩一区二区三区在线看| 亚洲精品你懂的| 91蜜桃视频在线| 中文字幕字幕中文在线中不卡视频| 成人深夜视频在线观看| 日本一区二区综合亚洲| 国产成人综合在线| 国产精品视频九色porn| 成人深夜福利app| 亚洲日本韩国一区| 色香蕉成人二区免费| 亚洲精品菠萝久久久久久久| 91免费版在线看| 亚洲资源中文字幕| 欧美日韩国产综合视频在线观看| 性感美女久久精品| 91精品国产全国免费观看| 日本午夜一本久久久综合| 日韩一区二区高清| 国内欧美视频一区二区| 久久久美女艺术照精彩视频福利播放| 麻豆91精品视频| 国产婷婷色一区二区三区四区 | 蜜臀av性久久久久av蜜臀妖精| 日韩精品资源二区在线| 韩国视频一区二区| 国产精品久久777777| 色婷婷av一区二区三区之一色屋| 亚洲夂夂婷婷色拍ww47| 日韩一区二区影院| 国产专区欧美精品| √…a在线天堂一区| 在线免费av一区| 免费美女久久99| 国产午夜精品一区二区三区嫩草| 99久久亚洲一区二区三区青草 | 午夜精品久久久| 精品日韩欧美在线| 成人免费福利片| 亚洲人妖av一区二区| 欧美视频你懂的| 久久不见久久见中文字幕免费| 久久众筹精品私拍模特| 91丨porny丨首页| 偷拍一区二区三区四区| 久久久久久久久久久久电影| 99久久久久久99| 麻豆精品一区二区综合av| 久久精品欧美一区二区三区不卡| 国产精品888| 亚洲精品视频在线观看免费| 欧美一级淫片007| 懂色av一区二区夜夜嗨| 日韩在线观看一区二区| 欧美激情一区二区三区蜜桃视频| 色婷婷综合久久久久中文| 蜜桃av一区二区三区电影| 综合在线观看色| 2021久久国产精品不只是精品| 91视频一区二区| 国产一区二区三区四区五区入口| 亚洲乱码国产乱码精品精的特点| 欧美成人精品1314www| 91视频www| 国产成人自拍在线| 天天色综合天天| 亚洲欧美日本韩国| 久久夜色精品国产噜噜av| 欧美私模裸体表演在线观看| 国产91综合网| 精品亚洲porn| 亚洲国产va精品久久久不卡综合| 国产精品成人免费|