⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainview.java

📁 音乐播放器 好像是用java编的 欢迎下载
💻 JAVA
字号:
package musicmgrsys;

import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JLabel;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import javax.swing.JSplitPane;
import musiclistview.MusicListView;
import musicitemview.MusicItemView;
import java.util.ArrayList;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import java.sql.Connection;

public class MainView extends JFrame {
    JPanel contentPane;
    JMenuBar jMenuBar1 = new JMenuBar();
    JMenu jMenuFile = new JMenu();
    JMenuItem jMenuFileExit = new JMenuItem();
    JMenu jMenuHelp = new JMenu();
    JMenuItem jMenuHelpAbout = new JMenuItem();
    JLabel statusBar = new JLabel();
    JSplitPane jSplitPane1 = new JSplitPane();
    MusicListView musicListView1 = new MusicListView(this);
    MusicItemView musicItemView1 = new MusicItemView();
    BorderLayout borderLayout1 = new BorderLayout();
    JMenu jMenu1 = new JMenu();
    JMenuItem jMenuItem1 = new JMenuItem();
    JMenuItem jMenuItem2 = new JMenuItem();
    JMenu jMenu2 = new JMenu();
    JMenuItem jMenuItem3 = new JMenuItem();
    JMenuItem jMenuItem4 = new JMenuItem();
    JMenuItem jMenuItem5 = new JMenuItem();
    ArrayList<MusicModel> list  = new ArrayList<MusicModel>();

    Toolkit toolkit1 = Toolkit.getDefaultToolkit();
    Dimension   scrnSize;

    public MainView() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(borderLayout1);
        setSize(new Dimension(400, 300));
        setTitle("个人音乐管理系统");
        statusBar.setText(" ");
        jMenuFile.setText("File");
        jMenuFileExit.setText("Exit");
        jMenuFileExit.addActionListener(new
                                        MainView_jMenuFileExit_ActionAdapter(this));
        jMenuHelp.setText("Help");
        jMenuHelpAbout.setText("About");
        jMenuHelpAbout.addActionListener(new
                                         MainView_jMenuHelpAbout_ActionAdapter(this));
        jMenu1.setText("MusicSet");
        jMenuItem1.setText("Add...");
        jMenuItem1.addActionListener(new MainView_jMenuItem1_actionAdapter(this));
        jMenuItem2.setText("Delete");
        jMenuItem2.addActionListener(new MainView_jMenuItem2_actionAdapter(this));
        jMenu2.setText("Music");
        jMenuItem3.setText("Add...");
        jMenuItem3.addActionListener(new MainView_jMenuItem3_actionAdapter(this));
        jMenuItem4.setText("Edit...");
        jMenuItem4.addActionListener(new MainView_jMenuItem4_actionAdapter(this));
        jMenuItem5.setText("Delete");
        jMenuItem5.addActionListener(new MainView_jMenuItem5_actionAdapter(this));
        jMenuBar1.add(jMenuFile);
        jMenuBar1.add(jMenu1);
        jMenuBar1.add(jMenu2);
        jMenuFile.add(jMenuFileExit);
        jMenuBar1.add(jMenuHelp);
        jMenuHelp.add(jMenuHelpAbout);
        setJMenuBar(jMenuBar1);
        jSplitPane1.add(musicListView1, JSplitPane.LEFT);
        jSplitPane1.add(musicItemView1, JSplitPane.RIGHT);
        contentPane.add(jSplitPane1, java.awt.BorderLayout.CENTER);
        contentPane.add(statusBar, java.awt.BorderLayout.SOUTH);
        jMenu1.add(jMenuItem1);
        jMenu1.add(jMenuItem2);
        jMenu2.add(jMenuItem3);
        jMenu2.add(jMenuItem4);
        jMenu2.add(jMenuItem5);

        String DRIVER = "com.borland.datastore.jdbc.DataStoreDriver";
        String URL = "jdbc:borland:dslocal:";
        String FILE = "musicmgrsys.jds";

        try
        {
            Class.forName(DRIVER);
            Connection con = DriverManager.getConnection(URL + FILE, "SYSDBA", "masterkey");
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("select * from MUSICSET");
            MusicModel mm = null;
            while(rs.next())
            {
                mm = new MusicModel(rs.getString("NAME"), rs.getString("TABNAME"));
                mm.addObserver(this.getMusicListView());
                list.add(mm);
            }
            rs.close();
            stmt.close();
            con.close();
        }
        catch(Exception ex)
        {
            JOptionPane.showMessageDialog(null, ex.toString());
        }

    }

    /**
     * File | Exit action performed.
     *
     * @param actionEvent ActionEvent
     */
    void jMenuFileExit_actionPerformed(ActionEvent actionEvent) {
        System.exit(0);
    }

    /**
     * Help | About action performed.
     *
     * @param actionEvent ActionEvent
     */
    void jMenuHelpAbout_actionPerformed(ActionEvent actionEvent) {
        MainView_AboutBox dlg = new MainView_AboutBox(this);
        Dimension dlgSize = dlg.getPreferredSize();
        Dimension frmSize = getSize();
        Point loc = getLocation();
        dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x,
                        (frmSize.height - dlgSize.height) / 2 + loc.y);
        dlg.setModal(true);
        dlg.pack();
        dlg.setVisible(true);
    }

    public void jMenuItem1_actionPerformed(ActionEvent e) {
        MusicsetEditor setEditor = new MusicsetEditor(this);
        centerDisplay(setEditor, 400, 300);
    }

    public void centerDisplay(Component c, int width, int height)
    {
        c.setSize(width, height);
        scrnSize  = toolkit1.getScreenSize();
                c.setLocation(scrnSize.width/2  - (width/2),
                scrnSize.height/2 - (height/2));
        c.setVisible(true);
    }

    public MusicListView getMusicListView()
    {
        return this.musicListView1;
    }

    public MusicItemView getMusicItemView()
    {
        return this.musicItemView1;
    }

    public ArrayList<MusicModel> getList()
    {
        return this.list;
    }

    public void jMenuItem3_actionPerformed(ActionEvent e) {
        MusicEditor musicEditor = new MusicEditor(this);
        musicEditor.type = 0;
        centerDisplay(musicEditor, 500, 400);
    }

    public void jMenuItem4_actionPerformed(ActionEvent e) {
        if(musicListView1.getTree().getPathForLocation(musicListView1.getX(), musicListView1.getY()).getPathCount() == 3)
        {
            MusicEditor musicEditor = new MusicEditor(this);
            musicEditor.type = 1;
            String title = musicListView1.getTree().getLastSelectedPathComponent().toString();
            String setName = musicListView1.getTree().getPathForLocation(musicListView1.getX(), musicListView1.getY()).getParentPath().getLastPathComponent().toString();
            for(MusicModel i : list)
            {
                if(i.getName().equalsIgnoreCase(setName))
                {
                    i.connectDB();
                    try
                    {
                        ResultSet rs = i.getStatement().executeQuery("select * from " + i.getTabname() + " where TITLE='" + title + "'");
                        while(rs.next())
                        {
                            musicEditor.jComboBox1.setSelectedItem(rs.getString(
                                    "FORMAT"));
                            musicEditor.jTextField1.setText(rs.getString(
                                    "GERUE"));
                            musicEditor.jComboBox2.setSelectedItem(new Integer(
                                    rs.getInt("RATING")).toString());
                            musicEditor.jTextField2.setText(rs.getString(
                                    "TITLE"));
                            musicEditor.jTextField2.setEditable(false);
                            musicEditor.jTextField3.setText(rs.getString(
                                    "DIRECTOR"));
                            musicEditor.jTextField4.setText(new Integer(rs.
                                    getInt("YEAR")).toString());
                            musicEditor.jComboBox3.setSelectedItem(setName);
                            musicEditor.jTextField5.setText(rs.getString(
                                    "LOCATION"));
                            musicEditor.jTextArea1.setText(rs.getString(
                                    "EVALUATION"));
                            musicEditor.jTextArea2.setText(rs.getString(
                                    "COMMENTS"));
                        }
                        rs.close();
                    }
                    catch(Exception ex)
                    {
                        JOptionPane.showMessageDialog(this, ex.toString());
                    }
                    i.closeDB();
                    break;
                }
            }
            centerDisplay(musicEditor, 500, 400);
        }
        else
        {
            JOptionPane.showMessageDialog(this, "您选定的不是音乐!");
        }
    }

    public void jMenuItem2_actionPerformed(ActionEvent e) {
        if(musicListView1.getTree().getPathForLocation(musicListView1.getX(), musicListView1.getY()).getPathCount() == 2)
        {
            String setName = musicListView1.getTree().getLastSelectedPathComponent().toString();
            for(MusicModel i : list)
            {
                if(i.getName().equalsIgnoreCase(setName))
                {
                    i.connectDB();
                    try{
                    i.getStatement().executeUpdate("drop table " + i.getTabname());
                    i.getStatement().executeUpdate("delete from MUSICSET where NAME='" + setName + "'");
                    }
                    catch(Exception ex)
                    {
                        JOptionPane.showMessageDialog(this, "删除音乐集'" + setName + "'失败!");
                    }
                    i.closeDB();
                    break;
                }
            }
            musicListView1.removeCurrentNode();
            JOptionPane.showMessageDialog(this, "您选定的音乐集'" + setName + "'已删除!");
        }
        else
        {
            JOptionPane.showMessageDialog(this, "您选定的不是音乐集!");
        }
    }

    public void jMenuItem5_actionPerformed(ActionEvent e) {
        if(musicListView1.getTree().getPathForLocation(musicListView1.getX(), musicListView1.getY()).getPathCount() == 3)
        {
            String title = musicListView1.getTree().getLastSelectedPathComponent().toString();
            String setName = musicListView1.getTree().getPathForLocation(musicListView1.getX(), musicListView1.getY()).getParentPath().getLastPathComponent().toString();
            for(MusicModel i : list)
            {
                if(i.getName().equalsIgnoreCase(setName))
                {
                    i.connectDB();
                    i.delMusic(title);
                    i.closeDB();
                }
            }
            JOptionPane.showMessageDialog(this, "您选定的音乐已从音乐集'" + setName + "'中删除!");
        }
        else
        {
            JOptionPane.showMessageDialog(this, "您选定的不是音乐!");
        }
    }
}


class MainView_jMenuItem2_actionAdapter implements ActionListener {
    private MainView adaptee;
    MainView_jMenuItem2_actionAdapter(MainView adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jMenuItem2_actionPerformed(e);
    }
}


class MainView_jMenuItem4_actionAdapter implements ActionListener {
    private MainView adaptee;
    MainView_jMenuItem4_actionAdapter(MainView adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jMenuItem4_actionPerformed(e);
    }
}


class MainView_jMenuItem3_actionAdapter implements ActionListener {
    private MainView adaptee;
    MainView_jMenuItem3_actionAdapter(MainView adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jMenuItem3_actionPerformed(e);
    }
}


class MainView_jMenuItem5_actionAdapter implements ActionListener {
    private MainView adaptee;
    MainView_jMenuItem5_actionAdapter(MainView adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jMenuItem5_actionPerformed(e);
    }
}


class MainView_jMenuItem1_actionAdapter implements ActionListener {
    private MainView adaptee;
    MainView_jMenuItem1_actionAdapter(MainView adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jMenuItem1_actionPerformed(e);
    }
}


class MainView_jMenuFileExit_ActionAdapter implements ActionListener {
    MainView adaptee;

    MainView_jMenuFileExit_ActionAdapter(MainView adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent actionEvent) {
        adaptee.jMenuFileExit_actionPerformed(actionEvent);
    }
}


class MainView_jMenuHelpAbout_ActionAdapter implements ActionListener {
    MainView adaptee;

    MainView_jMenuHelpAbout_ActionAdapter(MainView adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent actionEvent) {
        adaptee.jMenuHelpAbout_actionPerformed(actionEvent);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -