📄 musiclistview.java~124~
字号:
if (parent != null) {
treeModel.removeNodeFromParent(currentNode);
return;
}
}
// Either there was no selection, or the root was selected.
toolkit.beep();
}
public DefaultMutableTreeNode addObject(Object child) {
DefaultMutableTreeNode parentNode = null;
TreePath parentPath = jTree1.getSelectionPath();
if (parentPath == null) {
parentNode = rootNode;
} else {
parentNode = (DefaultMutableTreeNode)
(parentPath.getLastPathComponent());
}
return addObject(parentNode, child, true);
}
public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent,
Object child) {
return addObject(parent, child, false);
}
public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent,
Object child,
boolean shouldBeVisible) {
DefaultMutableTreeNode childNode =
new DefaultMutableTreeNode(child);
if (parent == null) {
parent = rootNode;
}
treeModel.insertNodeInto(childNode, parent,
parent.getChildCount());
//Make sure the user can see the lovely new node.
if (shouldBeVisible) {
jTree1.scrollPathToVisible(new TreePath(childNode.getPath()));
}
return childNode;
}
public void jMenuItem1_actionPerformed(ActionEvent e) {
if(jTree1.getPathForLocation(getX(), getY()).getPathCount() == 3)
{
MusicEditor musicEditor = new MusicEditor(mv);
musicEditor.type = 1;
String title = jTree1.getLastSelectedPathComponent().toString();
String setName = jTree1.getPathForLocation(getX(), getY()).getParentPath().getLastPathComponent().toString();
for(MusicModel i : mv.getList())
{
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;
}
}
mv.centerDisplay(musicEditor, 500, 400);
}
else
{
JOptionPane.showMessageDialog(this, "您选定的不是音乐!");
}
}
public void jMenuItem2_actionPerformed(ActionEvent e) {
if(jTree1.getPathForLocation(getX(), getY()).getPathCount() == 3)
{
String title = jTree1.getLastSelectedPathComponent().toString();
String setName = jTree1.getPathForLocation(getX(), getY()).getParentPath().getLastPathComponent().toString();
for(MusicModel i : mv.getList())
{
if(i.getName().equalsIgnoreCase(setName))
{
i.connectDB();
i.delMusic(title);
i.closeDB();
}
}
JOptionPane.showMessageDialog(this, "您选定的音乐已从音乐集'" + setName + "'中删除!");
}
else
{
JOptionPane.showMessageDialog(this, "您选定的不是音乐!");
}
}
public void jMenuItem3_actionPerformed(ActionEvent e) {
if(jTree1.getPathForLocation(getX(), getY()).getPathCount() == 2)
{
String setName = jTree1.getLastSelectedPathComponent().toString();
for(MusicModel i : mv.getList())
{
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;
}
}
this.removeCurrentNode();
JOptionPane.showMessageDialog(this, "您选定的音乐集'" + setName + "'已删除!");
}
else
{
JOptionPane.showMessageDialog(this, "您选定的不是音乐集!");
}
}
}
class MusicListView_jMenuItem2_actionAdapter implements ActionListener {
private MusicListView adaptee;
MusicListView_jMenuItem2_actionAdapter(MusicListView adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem2_actionPerformed(e);
}
}
class MusicListView_jMenuItem1_actionAdapter implements ActionListener {
private MusicListView adaptee;
MusicListView_jMenuItem1_actionAdapter(MusicListView adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem1_actionPerformed(e);
}
}
class MusicListView_jMenuItem3_actionAdapter implements ActionListener {
private MusicListView adaptee;
MusicListView_jMenuItem3_actionAdapter(MusicListView adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem3_actionPerformed(e);
}
}
class MyTreeModelListener implements TreeModelListener {
MusicListView mlv = null;
public MyTreeModelListener(MusicListView mlv)
{
this.mlv = mlv;
}
public void treeNodesChanged(TreeModelEvent e) {
DefaultMutableTreeNode node;
node = (DefaultMutableTreeNode)
(e.getTreePath().getLastPathComponent());
/*
* If the event lists children, then the changed
* node is the child of the node we've already
* gotten. Otherwise, the changed node and the
* specified node are the same.
*/
try {
int index = e.getChildIndices()[0];
node = (DefaultMutableTreeNode)
(node.getChildAt(index));
} catch (NullPointerException exc) {}
if (mlv.getTree().getPathForLocation(mlv.getX(), mlv.getY()).getPathCount() == 2)
{
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();
stmt.executeUpdate("Update MUSICSET set NAME='" + node.getUserObject() + "'" + " where NAME='" + mlv.getNodeStr() + "'");
stmt.close();
con.close();
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, ex.toString());
}
}
else if(mlv.getTree().getPathForLocation(mlv.getX(), mlv.getY()).getPathCount() == 3)
{
String setName = mlv.getTree().getPathForLocation(mlv.getX(), mlv.getY()).getParentPath().
getLastPathComponent().toString();
//System.out.println(setName);
String tabName = null;
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 TABNAME from MUSICSET where NAME='" + setName + "'");
while(rs.next())
{
tabName = rs.getString("TABNAME");
}
rs.close();
stmt.executeUpdate("Update " + tabName + " set TITLE='" + node.getUserObject() + "' where TITLE='" + mlv.getNodeStr() + "'");
// System.out.println("Update " + tabName + " set TITLE='" + node.getUserObject() + "' where TITLE='" + mlv.getNodeStr() + "'");
Statement stmt1 = con.createStatement();
ResultSet rs1 = stmt1.executeQuery("select * from " + tabName + " where TITLE='" + node.getUserObject() + "'");
JTextArea jta = mlv.mv.getMusicItemView().getTextArea();
while(rs1.next())
{
jta.setText("");
jta.append("格式: " + rs1.getString("FORMAT") + "\n");
jta.append("种类: " + rs1.getString("GERUE") + "\n");
jta.append("等级: " + rs1.getString("RATING") + "\n");
jta.append("评价: " + rs1.getString("EVALUATION") + "\n");
jta.append("标题: " + rs1.getString("TITLE") + "\n");
jta.append("原唱: " + rs1.getString("DIRECTOR") + "\n");
jta.append("年份: " + rs1.getString("YEAR") + "\n");
jta.append("注释: " + rs1.getString("COMMENTS") + "\n");
jta.append("路径: " + rs1.getString("LOCATION") + "\n");
}
rs1.close();
stmt1.close();
stmt.close();
con.close();
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, ex.toString());
}
}
}
public void treeNodesInserted(TreeModelEvent e) {
}
public void treeNodesRemoved(TreeModelEvent e) {
}
public void treeStructureChanged(TreeModelEvent e) {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -