1、SuperVCD管理系统java版完整代码文件名称功能MainFrame.javaStoneForest应用的主界面框架MusicPanel.java这个类构建VCD的主面板(panel)MusicDetailsDialog.java这个类显示VCD详细信息对话框MusicEntryDialog.java这个类提供VCD详细信息输入框(可选,本项目未使用)TrackEntryDialog这个类提供VCD歌曲信息输入框(可选,本项目未使用)表2-2 数据服务类列表文件名称功能DataAccessor.java这个抽象类定义了如何读取一个数据文件MusicDataAccessor.java音乐VC
2、D数据读取的实现类,继承了DataAccessorHandler.java这个类是基于socket连接的多线程处理器MusicDataClient.java这个类连接数据服务器来获得数据MusicDataServer.java这个类提供数据服务StoneForestProtocol.java这个接口包含数据服务的协议信息表2-3 工具类列表文件名称功能StoneForest.java这个类是整个应用的主(main)入口类Duration.java这个类描述时间的长度。 它包括小时,分和秒Track.java这个类代表歌曲VCD数据Recording.java这个抽象类代表音乐VCD数据,比Tr
3、ack含更多信息MusicRecording.java这个类代表音乐VCD数据, 继承了Recording表2-4 其他文件名称功能music.db这个文件以特定格式提供数据runjavadoc.bat这个批处理命令可以用来生成java doc文档docs这个文件夹用来放置生成的java doc文档images这个文件夹用来放置项目所需的图片MainFrameimport javax.swing.*;import java.awt.*;import java.awt.event.*;/* * StoneForest应用的主框架 */public class MainFrame extends
4、JFrame /* * tabbed pane组件 */ protected JTabbedPane tabbedPane; /* * 音乐CD panel */ protected MusicPanel musicPanel; /* * 默认构造方法 */ public MainFrame() setTitle(欢迎使用StoneForest应用! ); Container container = this.getContentPane(); container.setLayout(new BorderLayout(); tabbedPane = new JTabbedPane(); mus
5、icPanel = new MusicPanel(this); tabbedPane.addTab(音乐, musicPanel); container.add(BorderLayout.CENTER, tabbedPane); JMenuBar myMenuBar = new JMenuBar(); JMenu fileMenu = new JMenu(文件); JMenu openMenu = new JMenu(打开); JMenuItem localMenuItem = new JMenuItem(本地硬盘.); openMenu.add(localMenuItem); JMenuIt
6、em networkMenuItem = new JMenuItem(网络.); openMenu.add(networkMenuItem); JMenuItem webMenuItem = new JMenuItem(互联网.); openMenu.add(webMenuItem); fileMenu.add(openMenu); JMenuItem saveMenuItem = new JMenuItem(保存); fileMenu.add(saveMenuItem); JMenuItem exitMenuItem = new JMenuItem(退出); fileMenu.add(exi
7、tMenuItem); myMenuBar.add(fileMenu); exitMenuItem.addActionListener(new ExitActionListener(); setupLookAndFeelMenu(myMenuBar); JMenu helpMenu = new JMenu(帮助); JMenuItem aboutMenuItem = new JMenuItem(关于); helpMenu.add(aboutMenuItem); myMenuBar.add(helpMenu); aboutMenuItem.addActionListener(new AboutA
8、ctionListener(); this.setJMenuBar(myMenuBar); setSize(500, 400); setLocation(100, 100); this.addWindowListener(new WindowCloser(); fileMenu.setMnemonic(f); exitMenuItem.setMnemonic(x); helpMenu.setMnemonic(h); aboutMenuItem.setMnemonic(a); /设定快捷键 exitMenuItem.setAccelerator(KeyStroke.getKeyStroke(Ke
9、yEvent.VK_X, ActionEvent.CTRL_MASK); saveMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK); aboutMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.CTRL_MASK); /* * 设定和选择外观 * */ protected void setupLookAndFeelMenu(JMenuBar theMenuBar) UIManag
10、er.LookAndFeelInfo lookAndFeelInfo = UIManager.getInstalledLookAndFeels(); JMenu lookAndFeelMenu = new JMenu(选项); JMenuItem anItem = null; LookAndFeelListener myListener = new LookAndFeelListener(); try for (int i=0; i lookAndFeelInfo.length; i+) anItem = new JMenuItem(lookAndFeelInfoi.getName() + 外
11、观); anItem.setActionCommand(lookAndFeelInfoi.getClassName(); anItem.addActionListener(myListener); lookAndFeelMenu.add(anItem); catch (Exception e) e.printStackTrace(); theMenuBar.add(lookAndFeelMenu); /* * 退出方法. */ public void exit() setVisible(false); dispose(); System.exit(0); /* * 退出事件处理内部类. */
12、class ExitActionListener implements ActionListener public void actionPerformed(ActionEvent event) exit(); /* * 关闭窗口事件处理内部类. */ class WindowCloser extends WindowAdapter /* * lets call our exit() method defined above */ public void windowClosing(WindowEvent e) exit(); /* * 外观选择监听类 * */ class LookAndFe
13、elListener implements ActionListener public void actionPerformed(ActionEvent event) String className = event.getActionCommand(); try UIManager.setLookAndFeel(className); SwingUtilities.updateComponentTreeUI(MainFrame.this); catch (Exception e) e.printStackTrace(); /* * 关于菜单监听类 */ class AboutActionLi
14、stener implements ActionListener public void actionPerformed(ActionEvent event) String msg = StoneForest 超值享受!; JOptionPane.showMessageDialog(MainFrame.this, msg); MusicPanelimport javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;import java.util.*;import java.io.*;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1