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

📄 tree1.java

📁 该文件中包含有源代码及一部分的文档,该系统是一个小型的英语单词字典的系统.
💻 JAVA
字号:
package english;

import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.sql.ResultSet;
import java.sql.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;

public class Tree1 extends JPanel {
    DefaultMutableTreeNode root;
    DefaultMutableTreeNode node1;
    DefaultMutableTreeNode node2;
    DefaultMutableTreeNode child;
    DefaultTreeModel model;
    BorderLayout borderLayout1 = new BorderLayout();
    JTree jTree1 = new JTree();
    JScrollPane jScrollPane1;
    Texts jpanel = new Texts(root);
    JPopupMenu jPopupMenu1 = new JPopupMenu();
    JMenuItem jMenuItem1 = new JMenuItem();
    JMenuItem jMenuItem2 = new JMenuItem();

    public Tree1(Texts jpanel) {
        try {
            this.jpanel = jpanel;
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        jTree1 = new JTree(this.gettreemodel());
        jScrollPane1 = new JScrollPane(jTree1);
        this.setLayout(borderLayout1);
        this.setPreferredSize(new Dimension(100, 290));
        jTree1.addTreeSelectionListener(new Tree1_jTree1_treeSelectionAdapter(this));
        jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.
                HORIZONTAL_SCROLLBAR_AS_NEEDED);
        jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.
                                                VERTICAL_SCROLLBAR_AS_NEEDED);
        jMenuItem1.setMnemonic('D');
        jMenuItem1.setText("删除(D)");
        jMenuItem2.setText("移动到日常口语(M)");
        this.add(jScrollPane1, java.awt.BorderLayout.CENTER);
        jScrollPane1.getViewport().add(jTree1);
        jPopupMenu1.add(jMenuItem1);
        jPopupMenu1.add(jMenuItem2);
    }

    public DefaultTreeModel gettreemodel(){
        root = new DefaultMutableTreeNode(" 对话练习");
        node1 = new DefaultMutableTreeNode("日常口语");
        node2 = new DefaultMutableTreeNode("复杂口语");
        model = new DefaultTreeModel(root);
        model.insertNodeInto(node1, root, root.getChildCount());
        model.insertNodeInto(node2, root, root.getChildCount());
        try {
        Database db = new Database();
        ResultSet rs = db.query("select * from spokenlanguage order by name");
            while (rs.next()) {
              if(rs.getString(3).equals("simple")){
                  child = new DefaultMutableTreeNode(rs.getString(1));
                  model.insertNodeInto(child, node1, node1.getChildCount());
              } else {
                  child = new DefaultMutableTreeNode(rs.getString(1));
                  model.insertNodeInto(child, node2, node2.getChildCount());
              }
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return model;
    }

    public void jTree1_valueChanged(TreeSelectionEvent e) {
        String path = (String)e.getPath().toString();
        path = path.substring(path.lastIndexOf(",")+1,path.length()-1).trim();
        try {
        Database db = new Database();
        ResultSet rs = db.query("select * from spokenlanguage where name = '"+path+"'");
        if(rs.next()){
            jpanel.jTextArea2.setText(rs.getString(2));
        }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }

    public void repainttree(){
        jScrollPane1.remove(jTree1);
        jTree1 = new JTree(this.gettreemodel());
        jTree1.addTreeSelectionListener(new Tree1_jTree1_treeSelectionAdapter(this));
        jScrollPane1.getViewport().add(jTree1);
    }

//    public void jTree1_mouseClicked(MouseEvent e) {
//        String path = jTree1.getSelectionPath().toString();
//        if(path==null||path.equals("")||path.endsWith("对话联系")
//           ||path.endsWith("日常口语")||path.endsWith("复杂口语")){
//           return;
//        }
//        if(e.getButton() == e.BUTTON3){
//            System.out.println("右击!");
//            jPopupMenu1.show(this,e.getX(),e.getY());
//        }
//    }
}


class Tree1_jTree1_treeSelectionAdapter implements TreeSelectionListener {
    private Tree1 adaptee;
    Tree1_jTree1_treeSelectionAdapter(Tree1 adaptee) {
        this.adaptee = adaptee;
    }

    public void valueChanged(TreeSelectionEvent e) {
        adaptee.jTree1_valueChanged(e);
    }
}

⌨️ 快捷键说明

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