📄 musicplayer.java
字号:
menuItem_rewind_Popup.addActionListener(new CommendActionListener());
}
private void initButton() {
but_play = new MyButton(new ImageIcon("img/play.png"));
but_pause = new MyButton(new ImageIcon("img/pause.png"));
but_stop = new MyButton(new ImageIcon("img/stop.png"));
but_rewind = new MyButton(new ImageIcon("img/rewind.png"));
but_fastForward = new MyButton(new ImageIcon("img/fastForward.png"));
but_sounds = new MyButton(new ImageIcon("img/sound.png"));
but_skipBackward = new MyButton(new ImageIcon("img/skipBackward.png"));
but_skipForward = new MyButton(new ImageIcon("img/skipForward.png"));
but_music = new MyButton(new ImageIcon("img/music.png"));
}
// 为用户提供按钮的控制
private void initButtonChangFaceListener() {
but_play.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (firstPlayer) {
if (list.getSelectedIndex() != -1) {
playMedia(list.getSelectedIndex());
}
} else {
pauseToPlayer();
}
}
public void mouseEntered(MouseEvent e) {
but_play.setIcon(new ImageIcon("img/Play_.png"));
panel_play.validate();
}
public void mouseExited(MouseEvent e) {
but_play.setIcon(new ImageIcon("img/Play.png"));
panel_play.validate();
}
});
but_pause.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (player != null) {
pauseMedia();
}
}
public void mouseEntered(MouseEvent e) {
but_pause.setIcon(new ImageIcon("img/pause_.png"));
panel_play.validate();
}
public void mouseExited(MouseEvent e) {
but_pause.setIcon(new ImageIcon("img/pause.png"));
panel_play.validate();
}
});
but_stop.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
stopMedia();
}
public void mouseEntered(MouseEvent e) {
but_stop.setIcon(new ImageIcon("img/stop_.png"));
}
public void mouseExited(MouseEvent e) {
but_stop.setIcon(new ImageIcon("img/stop.png"));
}
});
// but_skipBackward和个上一曲
but_skipBackward.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (list.getSelectedIndex() != -1) {
System.out.println("用户选择上一曲播放");
musicChooser(-1);
} else {
System.out.println("列表中没有内容");
return;
}
}
public void mouseEntered(MouseEvent e) {
but_skipBackward
.setIcon(new ImageIcon("img/skipBackward_.png"));
}
public void mouseExited(MouseEvent e) {
but_skipBackward.setIcon(new ImageIcon("img/skipBackward.png"));
}
});
but_skipForward.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (list.getSelectedIndex() != -1) {
System.out.println("用户选择下一曲播放");
musicChooser(1);
} else {
System.out.println("列表中没有内容");
return;
}
}
public void mouseEntered(MouseEvent e) {
but_skipForward.setIcon(new ImageIcon("img/skipForward_.png"));
}
public void mouseExited(MouseEvent e) {
but_skipForward.setIcon(new ImageIcon("img/skipForward.png"));
}
});
but_rewind.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
proControl(-5);
}
public void mouseEntered(MouseEvent e) {
but_rewind.setIcon(new ImageIcon("img/rewind_.png"));
}
public void mouseExited(MouseEvent e) {
but_rewind.setIcon(new ImageIcon("img/rewind.png"));
}
});
but_fastForward.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
proControl(5);
}
public void mouseEntered(MouseEvent e) {
but_fastForward.setIcon(new ImageIcon("img/fastForward_.png"));
}
public void mouseExited(MouseEvent e) {
but_fastForward.setIcon(new ImageIcon("img/fastForward.png"));
}
});
but_sounds.addMouseListener(new MouseAdapter() {
boolean temp = false;
public void mouseClicked(MouseEvent e) {
if (temp) {
but_sounds.setActionCommand("false");
but_sounds.setIcon(new ImageIcon("img/sound.png"));
mediaMute(but_sounds.getActionCommand());
menuItem_noSound.setSelected(false);
temp = false;
} else {
but_sounds.setActionCommand("true");
but_sounds.setIcon(new ImageIcon("img/nosound_.png"));
mediaMute(but_sounds.getActionCommand());
menuItem_noSound.setSelected(true);
temp = true;
}
}
});
}
public void proControl(int temp) {
newTime = slider_time.getValue() + temp;
if (newTime >= fileTime && temp >= 0) {
newTime = slider_time.getValue();
} else if (newTime <= 0 && temp <= 0) {
newTime = 0;
}
if (player != null) {
player.setMediaTime(new Time(newTime));
}
}
protected void musicChooser(int temp) {
System.out.println("用户选择上一首");
int index = list.getSelectedIndex() + temp;
list.setSelectedIndex(index);
if (temp < 0) {
if (0 <= index) {
playMedia(index);
} else if (index == -1) {
index = list.getLastVisibleIndex();
list.setSelectedIndex(index);
playMedia(index);
}
}
if (temp > 0) {
list.setSelectedIndex(index);
if (index <= list.getLastVisibleIndex()) {
playMedia(index);
} else if (index > list.getLastVisibleIndex()) {
index = 0;
list.setSelectedIndex(index);
playMedia(index);
}
}
}
private void setAcceleratorInMenuItem() {
menuItem_open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
InputEvent.CTRL_MASK));
menuItem_allScreen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
InputEvent.CTRL_MASK));
menuItem_stop.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
InputEvent.CTRL_MASK));
menuItem_about.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,
InputEvent.CTRL_MASK));
menuItem_help.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,
InputEvent.CTRL_MASK));
menuItem_noSound.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,
InputEvent.CTRL_MASK));
}
private void initAddButton() {
panel_play.add(but_play);
panel_AddButton.add(but_stop);
panel_AddButton.add(but_skipBackward);
panel_AddButton.add(but_rewind);
panel_AddButton.add(but_fastForward);
panel_AddButton.add(but_skipForward);
panel_AddButton.add(but_sounds);
panel_AddButton.add(getSoundControl());
}
private void initSetButton() {
but_play.setToolTipText("播放");
but_pause.setToolTipText("暂停");
but_stop.setToolTipText("停止");
but_skipBackward.setToolTipText("上一曲");
but_rewind.setToolTipText("后退");
but_fastForward.setToolTipText("快进");
but_skipForward.setToolTipText("下一曲");
but_sounds.setToolTipText("音量");
but_music.setToolTipText("切换播放模式");
but_music.setActionCommand("true");
}
private void initAddListenerInButton() {
but_play.addActionListener(new CommendActionListener());
but_play.addActionListener(new CommendActionListener());
menuItem_onTop.addActionListener(new CommendActionListener());
menuItem_allScreen.addActionListener(new CommendActionListener());
menuItem_skinForwind.addActionListener(new CommendActionListener());
menuItem_rewind.addActionListener(new CommendActionListener());
menuItem_skinForwind_Popup
.addActionListener(new CommendActionListener());
menuItem_rewind_Popup.addActionListener(new CommendActionListener());
menuItem_help.addActionListener(new CommendActionListener());
menuItem_about.addActionListener(new CommendActionListener());
exitItem_playOrPause_SystemTray
.addActionListener(new CommendActionListener());
exitItem_stop_SystemTray.addActionListener(new CommendActionListener());
}
private void initPopupMenu() {
popupMenuAll = new JPopupMenu();
popupMenuList = new JPopupMenu();
menuItem_paly_Popup = new MyMenuItem("播放/暂停");
menuItem_stop_Popup = new MyMenuItem("停止");
menuItem_controlPlayer = new MyMenu("播放控制");
menuItem_allScreen = new MyMenuItem("全屏");
menuItem_playSelect = new MyMenuItem("播放选中文件");
menuItem_delete = new MyMenuItem("从列表中删除");
menuItem_Addfile = new MyMenuItem("向列表中添加");
menuItem_deleteAll = new MyMenuItem("清除列表文件");
}
private void initAddAllCompents() {
contentPane.add(splitpane, BorderLayout.CENTER);
contentPane.add(panel_down, BorderLayout.SOUTH);
panel_down.add(panel_play, BorderLayout.WEST);
panel_down.add(panel_control, BorderLayout.CENTER);
panel_control.add(panel_prograBar, BorderLayout.NORTH);
panel_prograBar.add(slider_time);
panel_control.add(panel_button, BorderLayout.SOUTH);
panel_button.add(panel_AddButton, BorderLayout.WEST);
panel_button.add(panel_Addsounds, BorderLayout.EAST);
}
private void initAddListenerInPopupMenu() {
menuItem_delete.addActionListener(new PupupSeletedListener());
menuItem_deleteAll.addActionListener(new PupupSeletedListener());
menuItem_playSelect.addActionListener(new PupupSeletedListener());
menuItem_Addfile.addActionListener(new PupupSeletedListener());
}
private class PupupSeletedListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
pupupSeletedAction(source);
}
}
public void pupupSeletedAction(Object source) {
if (source == menuItem_delete) {
removeFile(list.getSelectedIndex(), false);
} else if (source == menuItem_deleteAll) {
removeFile(list.getSelectedIndex(), true);
} else if (source == menuItem_Addfile) {
open();
} else if (source == menuItem_playSelect) {
playMedia(list.getSelectedIndex());
}
}
//
private JPanel getView() {
panel_view = new JPanel();
panel_view.setBackground(Color.black);
panel_view.setLayout(new BorderLayout());
panel_view.addMouseListener(new RightMouseListener());
label_view = new JLabel(new ImageIcon("img/view.gif"), JLabel.CENTER);
label_view.setFont(new Font("行书", Font.BOLD, 32));
panel_view.add(label_view, BorderLayout.CENTER);
return panel_view;
}
private JScrollPane getPlayerList() {
list = new MyList(fileName);
popupList = new MyList(fileName);
list.setBackground(new Color(255, 237, 255));
list.addMouseListener(new RightMouseListener());
popupList.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2 && (!fileName.isEmpty())) { // 判断是否双击
list.setSelectedIndex(popupList.getSelectedIndex());
playMedia(popupList.getSelectedIndex());
}
}
});
list.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2 && (!fileName.isEmpty())) { // 判断是否双击
playMedia(list.getSelectedIndex());
}
if (e.getClickCount() == 1 && (!list.isSelectionEmpty())) {
System.out.println("用户选中文件"
+ list.getSelectedValue().toString());
list.setSelectedIndex(list.getSelectedIndex());
}
}
});
scrollPopup = new JScrollPane();
scrollPopup
.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrollPopup.getViewport().add(popupList);
JScrollPane scrollPane = new JScrollPane();
scrollPane
.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -