资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
package ui;import java.awt.EventQueue; /线程分发import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException;import org.jvnet.substance.SubstanceLookAndFeel;import musicPlayer.MusicPanel;public class Main public static void main(String args) try / 设置观感 UIManager.setLookAndFeel(“org.jvnet.substance.skin.SubstanceBu sinessBlackSteelLookAndFeel“); / 设置水印 SubstanceLookAndFeel.setCurrentWatermark(“org.jvnet.substance.watermark.S ubstanceMangoLookAndFeel“); / 设置渐变渲染 SubstanceLookAndFeel.setCurrentGradientPainter(“org.jvnet.substance.paint er.WaveGradientPainter“);JFrame.setDefaultLookAndFeelDecorated(true); / 窗体 JDialog.setDefaultLookAndFeelDecorated(true); /对话框 catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) e.printStackTrace(); /e为对象引用的名称/在命令行打印异常信息在程序中 出错的位置及原因 EventQueue.invokeLater() - /调用完毕,自动销毁 (因为是一个匿名类) new MusicPanel(); );package musicPlayer;import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.util.Vector;import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.table.DefaultTableModel;import player.Player;public class MusicPanel extends JFrame /* */ private static final long serialVersionUID = 1L; private JButton add, playbtn, stopbtn, deletebtn, deleteAllbtn, upbtn, downbtn; private JTable table; / 歌曲信息表 private Player player;public MusicPanel() super(“音乐播放器“); initCompont(); setVisible(true); /* 初始化界面* */ private void initCompont() / 各个按钮赋初始值 add = new JButton(“导入“); playbtn = new JButton(“试听“); stopbtn = new JButton(“停止“); deletebtn = new JButton(“单曲删除“); deleteAllbtn = new JButton(“全部删除“); upbtn = new JButton(“上移“); downbtn = new JButton(“下移“);/ 导入按钮点击设置 add.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) addFile(); );/ 试听按钮点击设置 playbtn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if (player != null) player.stop(); player = null; int rowNum = table.getSelectedRow(); / 选中 行时返回-1 if (rowNum != -1) / getValueAt获取表格内容 player = new Player(String) table.getValueAt(rowNum, 1) + “, (String) table.getValueAt(rowNum, 0); System.out.printf(String) table.getValueAt(rowNum, 1) + “, (String) table.getValueAt(rowNum, 0); player.play(); );/ 停止按钮点击设置 stopbtn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if (player != null) player.stop(); player = null; );/ 单曲删除按钮点击设置 deletebtn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int rowNum = table.getSelectedRow(); if (rowNum != -1) (DefaultTableModel) table.getModel().removeRow(rowNum); ); / 删除全部按钮点击设置 deleteAllbtn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) for (int i = table.getRowCount() - 1; i = 0; i-) (DefaultTableModel) table.getModel().removeRow(i); ); downbtn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int n = table.getSelectedRow() + 1; if (n = 0) table.setRowSelectionInterval(n, n); ); / 添加各个按钮 JPanel btnPanel = new JPanel(); btnPanel.add(add); btnPanel.add(playbtn); btnPanel.add(stopbtn); btnPanel.add(deletebtn);btnPanel.add(deleteAllbtn); btnPanel.add(upbtn); btnPanel.add(downbtn); this.setLayout(new BorderLayout(); this.add(btnPanel, BorderLayout.NORTH);Vector tableContent = new Vector(); Vector columnName = new Vector();columnName.add(“歌曲名称“); columnName.add(“存放路径“);/ 设置table table = new JTable(tableContent, columnName); table.setSelectionBackground(Color.blue); table.setSelectionForeground(Color.LIGHT_GRAY);this.add(new JScrollPane(table), BorderLayout.CENTER); this.setSize(600, 210); /* 添加文件* */private void addFile() JFileChooser fc = new JFileChooser(); / 设置选入文件类型 FileNameExtensionFilter filter = new FileNameExtensionFilter( “mp3 or wav file“, “mp3“, “wav“, “MP3“, “WAV“); fc.setFileFilter(filter); fc.setFileSelectionMode(JFileChooser.FILES_ONLY); / 设置只选文件 fc.setMultiSelectionEnabled(true); / 设置 选择多个文件int intRetVal = fc.showDialog(this, “打开“); / 获取文件并添加到table if (intRetVal = JFileChooser.APPROVE_OPTION) File file = fc.getSelectedFiles(); String name; for (File var : file) name = var.getName().toLowerCase(); if (name.endsWith(“.mp3“) | name.endsWith(“.wav“) this.addMusicItem(var.getName(), var.getParentFile() .getAbsolutePath(); /* table的行中添加音乐文件名称name,音乐文件路径path*/ private void addMusicItem(String name, String path) Vector rowData = new Vector(); rowData.add(name); rowData.add(path); DefaultTableModel tabMod = (Defau
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号