package player;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import mp3.Mp3Controller;
import action.NextAction;
import action.PauseAction;
import action.PrevAction;
import action.StartAction;
public class PlayerMenuBar extends JMenuBar implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
public static int list=2;
public static int numSkin = 0;
String lnfName = null;
MusicPlayer musicPlayer=null;
private Mp3Controller controller = null;
private JMenu file=new JMenu("文件(F)");
private JMenu player=new JMenu("播放(P)");
private JMenu skin = new JMenu("皮肤 (K)");
private JMenu help=new JMenu("帮助 (H)");
private JMenuItem open=new JMenuItem("打开(O)");
private JMenuItem exit=new JMenuItem("退出(E)");
private JMenuItem prev=null;
private JMenuItem next=null;
private JMenuItem start=null;
private JMenuItem pause=null;
private JMenu mode=new JMenu("模式(M)");
private JMenuItem singleRotate=new JMenuItem(" 单曲循环");
private JMenuItem contentplay=new JMenuItem("√ 目录播放");
private JMenuItem contentRotate=new JMenuItem(" 目录循环");
private JMenuItem de = new JMenuItem("默认(D)");
private JMenuItem blue = new JMenuItem("蓝色(B)");
private JMenuItem green = new JMenuItem("绿色(G)");
private JMenuItem red = new JMenuItem("红色(R)");
private JMenuItem grey = new JMenuItem("灰色(X)");
private JMenuItem about=new JMenuItem("关于(A)");
public PlayerMenuBar(Mp3Controller controller,MusicPlayer musicPlayer){
this.controller=controller;
this.musicPlayer=musicPlayer;
initMenu();
this.add(file);
this.add(player);
this.add(skin);
this.add(help);
file.add(open);
file.add(exit);
player.add(start);
player.add(pause);
player.add(mode);
player.add(prev);
player.add(next);
mode.add(singleRotate);
mode.add(contentplay);
mode.add(contentRotate);
skin.add(de);
skin.add(blue);
skin.add(green);
skin.add(red);
skin.add(grey);
help.add(about);
}
private void initMenu() {
// TODO Auto-generated method stub
prev=new JMenuItem(new PrevAction("上一曲(L)",controller));
next=new JMenuItem(new NextAction("下一曲(N)",controller));
start=new JMenuItem(new StartAction("开始(S)",controller));
pause=new JMenuItem(new PauseAction("暂停(B)",controller));
file.setMnemonic(KeyEvent.VK_F);
open.setAccelerator(KeyStroke.getKeyStroke("control O"));
exit.setAccelerator(KeyStroke.getKeyStroke("control E"));
player.setMnemonic(KeyEvent.VK_P);
start.setAccelerator(KeyStroke.getKeyStroke("control S"));
pause.setAccelerator(KeyStroke.getKeyStroke("control B"));
prev.setAccelerator(KeyStroke.getKeyStroke("control L"));
next.setAccelerator(KeyStroke.getKeyStroke("control N"));
mode.setMnemonic(KeyEvent.VK_M);
singleRotate.setAccelerator(KeyStroke.getKeyStroke("control R"));
contentplay.setAccelerator(KeyStroke.getKeyStroke("control C"));
contentRotate.setAccelerator(KeyStroke.getKeyStroke("control D"));
skin.setMnemonic(KeyEvent.VK_K);
de.setAccelerator(KeyStroke.getKeyStroke("control D"));
blue.setAccelerator(KeyStroke.getKeyStroke("control B"));
green.setAccelerator(KeyStroke.getKeyStroke("control G"));
red.setAccelerator(KeyStroke.getKeyStroke("control R"));
grey.setAccelerator(KeyStroke.getKeyStroke("control X"));
help.setMnemonic(KeyEvent.VK_H);
about.setAccelerator(KeyStroke.getKeyStroke("control A"));
singleRotate.addActionListener(this);
contentplay.addActionListener(this);
contentRotate.addActionListener(this);
open.addActionListener(this);
exit.addActionListener(this);
de.addActionListener(this);
blue.addActionListener(this);
green.addActionListener(this);
red.addActionListener(this);
grey.addActionListener(this);
about.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==exit){
System.exit(0);
}
if(e.getSource()==open){
ListControlPanel.open();
}
if (e.getSource() == about) { // 关于菜单
JFrame f = new JFrame("帮助");
f.add(new AboutPanel());
f.setBounds(800, 100, 400, 300); // 设置窗体的大小和相对位
f.setResizable(false); // 设置窗体大小不可变
f.setVisible(true);
}
if (e.getSource() == singleRotate)// 单曲循环
list = 1;
if (e.getSource() == contentplay)// 目录播放
list = 2;
if (e.getSource() == contentRotate)// 目录循环
list = 3;
if (e.getSource() == de) {
Skin.choose(0);
numSkin = 0;
lnfName = "javax.swing.plaf.metal.MetalLookAndFeel";
setLookandFeel();
}
if (e.getSource() == blue) {
Skin.choose(1);
numSkin = 1;
lnfName= UIManager.getCrossPlatformLookAndFeelClassName();
setLookandFeel();
}
if (e.getSource() == green) {
Skin.choose(2);
numSkin = 2;
lnfName = UIManager.getSystemLookAndFeelClassName();
setLookandFeel();
}
if (e.getSource() == red) {
Skin.choose(3);
numSkin = 3;
// lnfName = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
MusicPlayer.setDefaultLookAndFeelDecorated(true);
// setLookandFeel();
}
if (e.getSource() == grey) {
Skin.choose(4);
numSkin = 4;
lnfName = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
setLookandFeel();
}
}
private void setLookandFeel(){
try {
UIManager.setLookAndFeel(lnfName);
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (InstantiationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (UnsupportedLookAndFeelException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
SwingUtilities.updateComponentTreeUI(musicPlayer);
}
public void paintBorder(Graphics g) {
// TODO Auto-generated method stub
super.paintBorder(g);
this.repaint();
Image backgroundImage = null;
switch (numSkin) {
case 0:
backgroundImage = new ImageIcon(PlayerToolBar.resourceDir
+ "sss0.jpg").getImage();// 从系统中加载图片
break;
case 1:
backgroundImage = new ImageIcon(PlayerToolBar.resourceDir
+ "sss1.jpg").getImage();// 从系统中加载图片
break;
case 2:
// backgroundImage = new ImageIcon(PlayerToolBar.resourceDir
// + "sss2.jpg").getImage();// 从系统中加载图片
break;
case 3:
// backgroundImage = new ImageIcon(PlayerToolBar.resourceDir
// + "sss3.jpg").getImage();// 从系统中加载图片
break;
case 4:
// backgroundImage = new ImageIcon(PlayerToolBar.resourceDir
// + "sss4.jpg").getImage();// 从系统中加载图片
break;
}
if (backgroundImage != null) {
g.drawImage(backgroundImage, 0, 0, getWidth(), getHeight(), this);
}
}
}
class AboutPanel extends JPanel {
/**
*
*/
private static final long serialVersionUID = 1L;
public AboutPanel() {
this.setLayout(null);
JLabel edition = new JLabel("版本:电子音乐盒 1.0");
JLabel author = new JLabel("作者: 刘琳 张智勇 颜媛");
JLabel facultyAdviser = new JLabel("指导老师: 李芝兴");
edition.setBounds(60, 30, 200, 40);
facultyAdviser.setBounds(150, 170, 200, 40);
author.setBounds(150, 210, 200, 40);
this.add(edition);
this.a
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论













收起资源包目录





































































































共 202 条
- 1
- 2
- 3
csyrooney
- 粉丝: 22
- 资源: 6

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

- 1
- 2
- 3
- 4
- 5
- 6
前往页