?? window.java
字號:
package player1;
import javax.swing.*;
import java.awt.*;
import com.borland.jbcl.layout.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.io.File;
import javax.swing.JDialog;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class window
extends JWindow
implements ActionListener, MouseMotionListener {
JPanel jPanel1 = new JPanel();
JToggleButton jButton_title = new JToggleButton();
JPanel jPanel2 = new JPanel();
Border border1;
Border border2;
Border border3;
Border border4;
File f;
//三個Point對象,用來實現拖動窗口。
Point P0 = new Point(200, 100);
Point P1 = new Point(200, 100);
Point P2 = new Point(200, 100);
BasicPlayer player;
JFileChooser FC;
JDialog F;
PaneLayout paneLayout1 = new PaneLayout();
BorderLayout borderLayout1 = new BorderLayout();
JButton jButton_exit = new JButton();
JPanel jPanel4 = new JPanel();
JPanel jPanel7 = new JPanel();
JLabel jLabel_name1 = new JLabel();
FlowLayout flowLayout1 = new FlowLayout();
JPanel jPanel5 = new JPanel();
JPanel jPanel6 = new JPanel();
JSlider jSlider1 = new JSlider();
BorderLayout borderLayout3 = new BorderLayout();
JButton jButton_start = new JButton();
JButton jButton_open = new JButton();
JButton jButton_close = new JButton();
JButton jButton_pause = new JButton();
JButton jButton_stop = new JButton();
JButton jButton_info = new JButton();
JPanel jPanel3 = new JPanel();
FlowLayout flowLayout2 = new FlowLayout();
BorderLayout borderLayout2 = new BorderLayout();
JLabel jLabel_name = new JLabel();
public window() {
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
public window(GraphicsConfiguration p0) {
super(p0);
}
public window(Frame p0) {
super(p0);
}
public window(Window p0) {
super(p0);
}
public window(Window p0, GraphicsConfiguration p1) {
super(p0, p1);
}
//程序界面初始化
private void jbInit() throws Exception {
border1 = BorderFactory.createBevelBorder(BevelBorder.RAISED, Color.white,
Color.white,
new Color(103, 101, 98),
new Color(148, 145, 140));
border2 = new EtchedBorder(EtchedBorder.RAISED, new Color(255, 121, 255),
new Color(148, 59, 140));
border3 = BorderFactory.createCompoundBorder(BorderFactory.
createBevelBorder(BevelBorder.
RAISED, new Color(255, 172, 255), new Color(255, 121, 255),
new Color(103, 41, 98), new Color(148, 59, 140)),
BorderFactory.
createEmptyBorder(6, 6, 6, 6));
border4 = BorderFactory.createEmptyBorder(6, 6, 6, 6);
jPanel1.setLayout(borderLayout1);
jButton_title.setBackground(new Color(118, 79, 118));
jButton_title.setEnabled(false);
jButton_title.setForeground(new Color(0, 21, 112));
jButton_title.setMinimumSize(new Dimension(252, 18));
jButton_title.setPreferredSize(new Dimension(252, 18));
jButton_title.setText("WAV Player 1.0");
jButton_title.addMouseMotionListener(this);
jPanel2.setDebugGraphicsOptions(0);
jPanel2.setMinimumSize(new Dimension(270, 18));
jPanel2.setPreferredSize(new Dimension(270, 18));
jPanel2.setLayout(borderLayout2);
this.getContentPane().setLayout(paneLayout1);
jButton_exit.addActionListener(this);
jButton_exit.setBackground(Color.black);
jButton_exit.setForeground(Color.white);
jButton_exit.setBorder(border1);
jButton_exit.setMaximumSize(new Dimension(21, 18));
jButton_exit.setMinimumSize(new Dimension(21, 18));
jButton_exit.setPreferredSize(new Dimension(21, 18));
jButton_exit.setActionCommand("exit");
jButton_exit.setText("X");
jPanel5.setLayout(flowLayout1);
jSlider1.setInverted(false);
jSlider1.setMaximum(100);
jSlider1.setForeground(Color.yellow);
jPanel7.setLayout(borderLayout3);
jButton_start.addActionListener(this);
jButton_start.setPreferredSize(new Dimension(25, 15));
jButton_start.setOpaque(true);
jButton_start.setMaximumSize(new Dimension(25, 15));
jButton_start.setAlignmentY( (float) 0.5);
jButton_start.setBorder(border4);
jButton_start.setBackground(new Color(212, 85, 200));
jButton_start.setEnabled(false);
jButton_start.setActionCommand("start");
jButton_start.setText(">");
jButton_open.addActionListener(this);
jButton_open.setBackground(new Color(212, 85, 200));
jButton_open.setAlignmentY( (float) 0.5);
jButton_open.setBorder(border4);
jButton_open.setMaximumSize(new Dimension(25, 15));
jButton_open.setOpaque(true);
jButton_open.setPreferredSize(new Dimension(25, 15));
jButton_open.setActionCommand("open");
jButton_open.setText("V");
jButton_close.addActionListener(this);
jButton_close.setPreferredSize(new Dimension(25, 15));
jButton_close.setOpaque(true);
jButton_close.setMaximumSize(new Dimension(25, 15));
jButton_close.setAlignmentY( (float) 0.5);
jButton_close.setBorder(border4);
jButton_close.setBackground(new Color(212, 85, 200));
jButton_close.setEnabled(false);
jButton_close.setActionCommand("close");
jButton_close.setText("/\\");
jButton_pause.addActionListener(this);
jButton_pause.setPreferredSize(new Dimension(25, 15));
jButton_pause.setOpaque(true);
jButton_pause.setMaximumSize(new Dimension(25, 15));
jButton_pause.setAlignmentY( (float) 0.5);
jButton_pause.setBorder(border4);
jButton_pause.setBackground(new Color(212, 85, 200));
jButton_pause.setEnabled(false);
jButton_pause.setActionCommand("pause");
jButton_pause.setText("| |");
jButton_stop.addActionListener(this);
jButton_stop.setPreferredSize(new Dimension(25, 15));
jButton_stop.setOpaque(true);
jButton_stop.setMaximumSize(new Dimension(25, 15));
jButton_stop.setAlignmentY( (float) 0.5);
jButton_stop.setBorder(border4);
jButton_stop.setBackground(new Color(212, 85, 200));
jButton_stop.setEnabled(false);
jButton_stop.setActionCommand("stop");
jButton_stop.setText("P");
jButton_info.setPreferredSize(new Dimension(25, 15));
jButton_info.setActionCommand("info");
jButton_info.setText("?");
jButton_info.setOpaque(true);
jButton_info.setMaximumSize(new Dimension(25, 15));
jButton_info.setAlignmentY( (float) 0.5);
jButton_info.setBorder(border4);
jButton_info.setBackground(new Color(212, 85, 200));
jButton_info.addActionListener(this);
jPanel3.setLayout(flowLayout2);
jPanel4.setBackground(new Color(0, 0, 98));
jPanel3.setBackground(new Color(212, 208, 72));
jPanel5.setBackground(new Color(243, 53, 72));
jPanel6.setBackground(Color.blue);
jLabel_name.setText("Song\' name: ");
this.getContentPane().add(jPanel1,
new PaneConstraints("jPanel1", "jPanel1",
PaneConstraints.ROOT, 1.0f));
jPanel1.add(jPanel2, BorderLayout.NORTH);
jPanel2.add(jButton_title, BorderLayout.CENTER);
jPanel2.add(jButton_exit, BorderLayout.EAST);
jPanel1.add(jPanel4, BorderLayout.CENTER);
jPanel4.add(jPanel7, null);
jPanel7.add(jPanel6, BorderLayout.CENTER);
jPanel6.add(jSlider1, null);
jPanel7.add(jPanel5, BorderLayout.NORTH);
jPanel5.add(jLabel_name, null);
jPanel5.add(jLabel_name1, null);
jPanel7.add(jPanel3, BorderLayout.SOUTH);
jPanel3.add(jButton_open, null);
jPanel3.add(jButton_close, null);
jPanel3.add(jButton_start, null);
jPanel3.add(jButton_pause, null);
jPanel3.add(jButton_stop, null);
jPanel3.add(jButton_info, null);
this.setBounds(200, 100, 260, 100);
//pack();
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (Exception e) {
e.printStackTrace();
}
show();
F = new JDialog(); //文件選擇器窗口實際是一個 JDialog
FC = new JFileChooser(); //文件選擇器
player = new BasicPlayer(); //播放音頻的類 (本程序的核心)
F.getContentPane().add(FC);
FC.addActionListener(this);
F.setBounds(200, 100, 300, 180);
}//初始化完畢
//以下是播放等按鈕的事件處理
void jButton_open_actionPerformed(ActionEvent e) {
F.pack();
F.show();
F.setModal(true);
}
void jButton_close_actionPerformed(ActionEvent e) {
if (player != null) {
if (player.ifPaused()) {
player.resumePlayback();
}
else {
player.stopPlayback();
}
jButton_start.setEnabled(false);
jButton_stop.setEnabled(false);
jButton_pause.setEnabled(false);
jButton_close.setEnabled(false);
}
}
void jButton_start_actionPerformed(ActionEvent e) {
if (f != null) {
player.startPlayback();
jButton_start.setEnabled(false);
jButton_stop.setEnabled(true);
jButton_pause.setEnabled(true);
jButton_close.setEnabled(true);
}
else {
System.out.println("File was not opened!");
}
}
void jButton_pause_actionPerformed(ActionEvent e) {
if (player != null) {
player.pausePlayback();
jButton_pause.setEnabled(false);
jButton_start.setEnabled(true);
jButton_stop.setEnabled(false);
}
}
void jButton_stop_actionPerformed(ActionEvent e) {
if (player != null) {
player.stopPlayback();
jButton_start.setEnabled(true);
jButton_pause.setEnabled(false);
jButton_stop.setEnabled(false);
jLabel_name1.setText("");
}
}
//以上是播放等按鈕的事件處理
//文件選擇器打開或取消操作引發的事件處理
void jFileChooser_actionPerformed(ActionEvent e) {
F.dispose();
f = FC.getSelectedFile();
if (f != null) {
String S = new String(f.getAbsolutePath());
int len = S.length();
// WAVjudge 是判斷文件是否是wav格式(實在太原始了^O^)
boolean WAVjudge = (S.charAt(len - 1) =='v'|| S.charAt(len - 1) =='V') &&
(S.charAt(len - 2) =='a'|| S.charAt(len - 2) =='A') &&
(S.charAt(len - 3) =='w'|| S.charAt(len - 3) =='W');
if (f != null && WAVjudge) {
jButton_start.setEnabled(true);
jLabel_name1.setText(f.getName());
player.ready(f);
jLabel_name1.setText(f.getName());
}
}
}
//顯示作者信息
public void jButton_info_actionPerformed(ActionEvent e) {
JPanel DP=new JPanel();
JWindow DF=new JWindow();
DF.getContentPane().add(DP);
DP.setBackground(Color.CYAN);
DP.add(new Label("The half parts are copy from from other program′s class or interface."));
DP.add(new Label(" Producer : zzy. "));
DP.add(new Label(" From : bjpu "));
DP.add(new Label(" \n Enjoy!"));
DF.setBounds(160,100,350,100);
DF.show();
try {
Thread.sleep(2500);
}
catch (InterruptedException ex) {
}
DF.dispose();
}
//事件監聽
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().compareTo("open") == 0) {
jButton_open_actionPerformed(e);
}
else
if (e.getActionCommand().compareTo("close") == 0) {
jButton_close_actionPerformed(e);
}
else
if (e.getActionCommand().compareTo("start") == 0) {
jButton_start_actionPerformed(e);
}
else
if (e.getActionCommand().compareTo("pause") == 0) {
jButton_pause_actionPerformed(e);
}
else
if (e.getActionCommand().compareTo("stop") == 0) {
jButton_stop_actionPerformed(e);
}
else
if (e.getActionCommand().compareTo("exit") == 0) {
System.exit(0);
}else
if(e.getActionCommand().compareTo("info") == 0){
jButton_info_actionPerformed(e);
}
else {
jFileChooser_actionPerformed(e);
}
}
public void mouseMoved(MouseEvent e) { //鼠標移動:實現窗口移動
P1 = e.getPoint();
}
public void mouseDragged(MouseEvent e) { //鼠標拖動:實現窗口移動
P0 = this.getLocation();
P2 = e.getPoint();
this.setLocation(P2.x - P1.x + P0.x, P2.y - P1.y + P0.y);
}
public static void main(String[] args) {
window w=new window();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -