📄 mainview.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 + -