📄 musicplayer.java
字号:
package eee;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.media.*;
import java.awt.*;
import java.io.File;
import java.net.MalformedURLException;
public class MusicPlayer extends JFrame{
Player ap=null;
float playrate=1;
ImageIcon image=null;
MusicPlayer(){
ImageIcon image=null;
setSize(1200,900);
MenuBar menubar=new MenuBar();
setMenuBar(menubar);
Menu filemenu=new Menu("文件");
MenuItem openitem = new MenuItem("打开音乐文件");
MenuItem openimageitem = new MenuItem("打开图像文件");
filemenu.add(openitem);
openitem.addActionListener(new openfile());
filemenu.add(openimageitem);
openimageitem.addActionListener(new openimagefile());
menubar.add(filemenu);
imagepanel panel1 = new imagepanel();
panel1.setBackground(Color.CYAN);
add(panel1);
image = new ImageIcon("1.jpg");
setIconImage(image.getImage());
keyadapter keyevent = new keyadapter();
addKeyListener(keyevent);
setVisible(true);
}
class keyadapter implements KeyListener{
public void keyPressed(KeyEvent e) {
switch(e.getKeyCode()){
case KeyEvent.VK_S : ap.start();break;
case KeyEvent.VK_E : ap.stop();break;
case KeyEvent.VK_R : ap.start();break;
case KeyEvent.VK_RIGHT : playrate+=0.01;ap.setRate(playrate);break;
}
}
public void keyReleased(KeyEvent arg0) {
}
public void keyTyped(KeyEvent arg0) {
}}
class openimagefile implements ActionListener{
public void actionPerformed(ActionEvent e1) {
File fi1 = null;
JFileChooser jf1 = new JFileChooser("D:");
jf1.setFileSelectionMode(JFileChooser.FILES_ONLY);
int str = jf1.showOpenDialog(getContentPane());
if(str ==JFileChooser.CANCEL_OPTION){return;}
fi1 = jf1.getSelectedFile();
if(fi1.toString().contains(".mp3")||fi1.toString().contains(".wav")){
try {
ap=Manager.createPlayer( fi1.toURL() );
} catch (NoPlayerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ap.start();
}
else
image = new ImageIcon(fi1.toString());
repaint();
}
}
class openfile implements ActionListener{
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e1) {
File fi1 = null;
JFileChooser jf1 = new JFileChooser("D:");
jf1.setFileSelectionMode(JFileChooser.FILES_ONLY);
int str = jf1.showOpenDialog(getContentPane());
if(str ==JFileChooser.CANCEL_OPTION){return;}
fi1 = jf1.getSelectedFile();
try {
ap=Manager.createPlayer( fi1.toURL() );
} catch (NoPlayerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ap.start();
}
}
class imagepanel extends JPanel{
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if(image!=null){
image.paintIcon(this, g, 450-image.getIconHeight()/2,600-image.getIconWidth()/2);
//g.drawImage(image.getImage(), 20, 20, 10*image.getIconHeight(),10*image.getIconWidth(), null, null);
//g.drawImage(image.getImage(), 0, 100,null, null);
}
}
}
public static void main(String args[]){
MusicPlayer app=new MusicPlayer();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -