📄 mp3gui.java
字号:
/** * Final Project : csc258:Data Structure * * @author (Mohd Azrul Amir Bin Muhamad Tajudin) * @id (2003425945) * @lecturer (En Azizian) * @group (DCS04B) * @group member : Mohd Azrul Amir Bin Muhamad Tajudin * Mohd Fikri Bin Yahya */import javax.swing.JButton;import javax.swing.JMenuItem;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JPanel;import javax.swing.JLabel;import javax.swing.JFrame;import javax.swing.border.TitledBorder;import javax.swing.border.EtchedBorder;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.List;import java.awt.Color;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.GridLayout;import java.util.ArrayList;import java.awt.Dimension;import java.awt.Toolkit;public class mp3Gui extends JFrame implements ActionListener{ private JButton btAdd,btSave,btJump,btQueue,btPrev,btFirst,btPlay,btPause,btStop,btNext,btLast,btRem,btBanner; private JMenuItem JMOpen, JMExit, JMAbout, JMHelp; private JMenu File, Help; private JMenuBar JMB; private List listSong = new List(); private JPanel panelTop,panelCenter, panelButtonMp3, panelButtonFn, panelStatus, panelList,panelCenterGroup,panelBanner; private JLabel lbStatus,lbBanner; private action a = new action(); private Jump jp; public mp3Gui(String title){ super.setTitle(title); lbBanner = new JLabel("-------------------------------"); lbStatus = new JLabel("Now Playing ..."); File = new JMenu("File"); Help = new JMenu("Help"); JMOpen = new JMenuItem("Add mp3"); JMExit = new JMenuItem("Quit Application"); JMAbout = new JMenuItem("About"); JMHelp = new JMenuItem("Help"); JMB = new JMenuBar(); File.add(JMOpen); File.add(JMExit); Help.add(JMAbout); Help.add(JMHelp); JMB.add(File); JMB.add(Help); //end of setup Menu btFirst = new JButton("first"); btLast = new JButton("last"); btPrev = new JButton(); btPrev.setIcon(new javax.swing.ImageIcon("icon/iconPrev.gif")); btPrev.setBackground(Color.pink); btPlay = new JButton(); btPlay.setIcon(new javax.swing.ImageIcon("icon/iconPlay.gif")); btPlay.setBackground(Color.pink); btPause = new JButton(); btPause.setIcon(new javax.swing.ImageIcon("icon/iconPause.gif")); btPause.setBackground(Color.pink); btStop = new JButton(); btStop.setIcon(new javax.swing.ImageIcon("icon/iconStop.gif")); btStop.setBackground(Color.pink); btNext = new JButton(); btNext.setIcon(new javax.swing.ImageIcon("icon/iconNext.gif")); btNext.setBackground(Color.pink); //btSearch = new JButton("search"); btAdd = new JButton("Add"); btAdd.setBackground(Color.pink); btRem = new JButton("Rem"); btRem.setBackground(Color.pink); btSave = new JButton("Sort"); btSave.setBackground(Color.pink); btJump = new JButton("Jump"); btJump.setBackground(Color.pink); btQueue = new JButton("Qu"); btQueue.setBackground(Color.pink); listSong.setBackground(Color.pink); btBanner = new JButton(); btBanner.setIcon(new javax.swing.ImageIcon("banner.gif")); panelBanner = new JPanel(new BorderLayout()); panelStatus = new JPanel(new FlowLayout()); panelList = new JPanel(new BorderLayout()); panelTop = new JPanel(new BorderLayout()); panelCenter = new JPanel(new GridLayout(2,1)); panelButtonMp3 = new JPanel(new FlowLayout()); panelButtonFn = new JPanel(new FlowLayout()); panelCenterGroup = new JPanel(new GridLayout(3,1)); panelBanner.add(btBanner); panelTop.add(lbBanner); panelStatus.add(lbStatus); //panelButtonMp3.add(btFirst); panelButtonMp3.add(btPrev); panelButtonMp3.add(btPlay); //panelButtonMp3.add(btPause); panelButtonMp3.add(btStop); panelButtonMp3.add(btNext); //panelButtonMp3.add(btLast); panelCenterGroup.add(panelBanner); panelCenterGroup.add(panelStatus); panelCenterGroup.add(panelButtonMp3); panelCenter.add(panelCenterGroup); panelCenter.add(listSong); panelButtonFn.add(btAdd); panelButtonFn.add(btSave); panelButtonFn.add(btRem); panelButtonFn.add(btJump); //panelButtonFn.add(btQueue); panelTop.setBorder(new TitledBorder(new EtchedBorder())); panelStatus.setBorder(new TitledBorder(new EtchedBorder())); panelButtonFn.setBorder(new TitledBorder(new EtchedBorder())); getContentPane().setLayout(new BorderLayout()); //getContentPane().add( panelTop, BorderLayout.NORTH ); getContentPane().add( panelCenter, BorderLayout.CENTER ); getContentPane().add( panelButtonFn, BorderLayout.SOUTH); super.setJMenuBar(JMB); //frame.setVisible(true); JMOpen.addActionListener(this); JMExit.addActionListener(this); JMAbout.addActionListener(this); JMHelp.addActionListener(this); btPrev.addActionListener(this); btPlay.addActionListener(this); btPause.addActionListener(this); btStop.addActionListener(this); btNext.addActionListener(this); btJump.addActionListener(this); btAdd.addActionListener(this); btRem.addActionListener(this); btSave.addActionListener(this); btQueue.addActionListener(this); btSave.setEnabled(false); btJump.setEnabled(false); btQueue.setEnabled(false); btPrev.setEnabled(false); btFirst.setEnabled(false); btPlay.setEnabled(false); btPause.setEnabled(false); btStop.setEnabled(false); btNext.setEnabled(false); btLast.setEnabled(false); btRem.setEnabled(false); a.readList(); clearList(); updateList(); setButton(); } /**jsjjsss * ACTION PERFORMED */ public void actionPerformed(ActionEvent e) { if(e.getSource() == JMOpen) { a.openFile(JMOpen); clearList(); updateList(); setButton(); } else if(e.getSource() == btAdd) { a.openFile(JMOpen); clearList(); updateList(); setButton(); } else if(e.getSource() == JMExit) { closeMp3(); } else if(e.getSource() == JMAbout) { About abou = new About(); abou.load(); } else if(e.getSource() == JMHelp) { Help hp; hp = new Help("HELP MyJMp3"); hp.setVisible(true); hp.setLocation(350,300); hp.setSize(300,200); hp.setResizable(true); //hp.paint(); } else if(e.getSource() == btPlay) { int indexSong = listSong.getSelectedIndex(); a.play(indexSong); lbStatus.setText("Now Playing : " + a.getName()); setButton(); listSong.select(indexSong); } else if(e.getSource() == btStop) { a.stop(); } else if(e.getSource() == btPrev) { int indexSong = a.getIndex(); a.play(indexSong-1); lbStatus.setText("Now Playing : " + a.getName()); setButton(); listSong.select(indexSong -1); } else if(e.getSource() == btNext) { int indexSong = a.getIndex(); a.play(indexSong+1); lbStatus.setText("Now Playing : " + a.getName()); setButton(); listSong.select(indexSong +1); } else if(e.getSource() == btPause) { int indexSong = a.getIndex(); a.play(indexSong+1); lbStatus.setText("Now Playing : " + a.getName()); setButton(); listSong.select(indexSong +1); } else if(e.getSource() == btRem) { int indexSong = listSong.getSelectedIndex(); a.remove(indexSong); clearList(); updateList(); setButton(); listSong.select(indexSong); } else if(e.getSource() == btJump) { jp = new Jump(a.getArrayList()); jp.setSize(330,300); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = jp.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } jp.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); jp.setVisible(true); //jp.setResizable(false); } else if(e.getSource() == btSave) { ArrayList tmp = a.getArrayList(); tmp = Quicksort.quickSort(tmp,0,tmp.size()-1); a.resetIndex(); clearList(); a.setAr(tmp); updateList(); listSong.select(0); } } public void setButton() { if(a.exist()) { listSong.select(0); btPlay.setEnabled(true); btSave.setEnabled(true); btJump.setEnabled(true); btQueue.setEnabled(true); btPause.setEnabled(true); btStop.setEnabled(true); btRem.setEnabled(true); if(a.getIndex() == 0) { btPrev.setEnabled(false); } else { btPrev.setEnabled(true); } if(a.getIndex() == a.getSize()-1) { btNext.setEnabled(false); } else { btNext.setEnabled(true); } } } public void updateList() { ArrayList ar = (ArrayList)a.getArrayList(); for(int i =0; i<ar.size();i++) { listSong.add((i+1) + ")" + ((Lagu)ar.get(i)).getName(),i); } a.saveList(); } public void clearList() { listSong.removeAll(); } public void closeMp3() { super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); super.dispose(); System.exit(0); } public void play(int ind) { a.play(ind); } public void selectList(int in) { listSong.select(in); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -