实现菜单的过程比较复杂,主要下面三步:
(1)创建菜单栏,并将它设计到某个容器中。创建菜单栏需要利用JMenuBar类,该类只有一个默认构造方法
(2)创建菜单条,并将它们添加到菜单栏中。创建菜单条需要利用JMenu类,该类有多种构造方法,其中最常用的是JMenu(String s)。 (3)创建菜单项,并将它们添加到菜单条中。创建菜单项一般需要利用JMenuItem类,该类有多种构造方法,其中最常用的是JMenuItem(String text)。 2按钮与标签 1)按钮
创建按钮需要利用JButton类,JButton类中常用的方法有: public JButton() //创建一个没有标记的空按钮 public JButton(Icon icon) //创建一个标有指定图标的按钮
public JButton(String text) //创建一个标有指定文字的按钮
public JButton(String text ,Icon icon) //创建一个标有指定文字和图表的按钮 2)标签
10
标签与按钮相同,标签也可以显示一串文字或图像。创建标签需要利用JLabel类。JLabel类中常用的构造方法有: public JLabel() //创建一个空标签
public JLabel(Icon image) //创建具有指定图标的标签
public JLabel(Icon image,int horizontalAlignment) //创建具有指定图标和水平对齐方式的标签 public JLabel(String text) //创建具有指定文字的标签
public JLabel(String text,int horizontalAlignment) //创建具有指定文字和水平对齐方式的标签 public
JLabel(String
text,Icon
icon,int
horizontalAlignment)
//创建具有指定文字,图标和水平对齐方式的标签 3列表框
列表也允许用户从中进行选择。创建列表需要利用JList类,JList类中常用的构造方法有:
11
public JList()
//创建一个列表,列表中的选项为空 public JList(Object[] listData)
//创建一个列表,列表中的选项由参数listData指定
四 .系统实现
主类MUSICPLAYER类: import java.util.*;
import javax.swing.JSlider; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Point;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.BufferedOutputStream; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;
import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable;
import javax.media.ControllerEvent; import javax.media.ControllerListener; import javax.media.EndOfMediaEvent; import javax.media.Manager; import javax.media.MediaLocator; import javax.media.NoPlayerException; import javax.media.Player;
import javax.media.PrefetchCompleteEvent; import javax.media.Time;
12
import javax.swing.ButtonGroup; import javax.swing.DefaultListModel; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel;
import javax.swing.JRadioButtonMenuItem; import javax.swing.JScrollBar; import javax.swing.JScrollPane;
import javax.swing.filechooser.FileNameExtensionFilter;
public class MusicPlayer implements ActionListener, Serializable,ControllerListener { private static final long serialVersionUID = 1L; private JFrame frame = null; private JPanel controlPanel = null; private JButton btnPlay = null; private JButton btnPre = null; private JButton btnNext = null; private JScrollPane listPane = null; private JList list = null; private DefaultListModel listModel = null; private JMenuBar menubar = null; private JMenu menuFile = null, menuAbout = null, menuMode = null; private JMenuItem itemOpen, itemOpens, itemExit, itemAbout; private JRadioButtonMenuItem itemSingle, itemSequence ,itemRandom; private ListItem currentItem = null; private static Player player = null; private boolean isPause = false; private int mode; private int currentIndex; private ImageIcon iconPlay = new ImageIcon(\ private ImageIcon iconPre = new ImageIcon(\ private ImageIcon iconNext = new ImageIcon(\ private ImageIcon iconPause = new ImageIcon(\ public static void main(String[] args) { new MusicPlayer(); }
13
相关推荐: