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

📄 treelist.java

📁 课程设计:ATM Project源码
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.border.*;
import java.util.*;
import java.net.*;
import java.io.*;
public class TreeList extends JPanel 
{   
    JButton btAddatm=new JButton("启动网络");
    JButton btAddsrv=new JButton("关闭网络");
    DefaultMutableTreeNode root = new DefaultMutableTreeNode("银行网络中心");
    DefaultMutableTreeNode nodeAtm = new DefaultMutableTreeNode("ATM服务请求监听中...");
    DefaultMutableTreeNode nodeSrv = new DefaultMutableTreeNode("售货机请求监听中..");
    DefaultMutableTreeNode nodeCom = new DefaultMutableTreeNode("公司网络请求监听中..");
    DefaultTreeModel treeModel = new DefaultTreeModel(root);
    JTree tree = new JTree(treeModel);
    private ActionListener listener=new ActionResponse();
    Vector atm_List=new Vector();
    Vector srv_List=new Vector();
    Vector com_List=new Vector();
    public TreeList()
    {
        this.setLayout(null);
        //treeModel.addTreeModelListener(this);
        treeModel.insertNodeInto(nodeAtm, root, root.getChildCount());
        treeModel.insertNodeInto(nodeSrv, root, root.getChildCount());
        treeModel.insertNodeInto(nodeCom, root, root.getChildCount());
        tree.setBounds(0,0,180,150);
        tree.setRowHeight(20); 
        DefaultTreeCellRenderer cellRenderer = (DefaultTreeCellRenderer)tree.getCellRenderer();
        cellRenderer.setLeafIcon(new ImageIcon(".\\icons\\leaf.gif"));
        cellRenderer.setOpenIcon(new ImageIcon(".\\icons\\open.gif"));
        cellRenderer.setClosedIcon(new ImageIcon(".\\icons\\close.gif"));
        cellRenderer.setFont(new Font("宋体",Font.PLAIN,12));
        cellRenderer.setBackgroundNonSelectionColor(Color.white);
        cellRenderer.setBackgroundSelectionColor(Color.yellow);
        cellRenderer.setBorderSelectionColor(Color.red);
        cellRenderer.setTextNonSelectionColor(Color.black);
        cellRenderer.setTextSelectionColor(Color.blue);
        tree.setEditable(true);
        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setViewportView(tree);
        scrollPane.setBounds(15,5,180,150);
        //scrollPane.setBorder(BorderFactory.createTitledBorder(
        //    BorderFactory.createLineBorder(Color.BLACK,1),
        //   "网络监视器",TitledBorder.CENTER,TitledBorder.TOP));
        this.add(scrollPane);
        setButton();
        this.add(btAddatm);
        this.add(btAddsrv);
        tree.expandPath(new TreePath(root.getPath()));
        StartNetwork();
     }
     private void setButton()
     {
     	btAddatm.setBounds(10,160,90,30);
     	btAddatm.addActionListener(listener);
     	btAddsrv.setBounds(110,160,90,30);
     	btAddsrv.addActionListener(listener);
     }
     private void StartNetwork()
     {
     	try{ 
	       ServerSocket ListenAtm=new ServerSocket(6688);
	       ServerSocket ListenSrv=new ServerSocket(8848);
	       ServerSocket ListenCom=new ServerSocket(9000);
	       System.out.println("The Server begin to listen ATM and AUTO Services Require!");
	       (new ListenService(ListenCom,tree,nodeCom,treeModel,com_List)).start();
	       (new ListenService(ListenAtm,tree,nodeAtm,treeModel,atm_List)).start();
	       (new ListenService(ListenSrv,tree,nodeSrv,treeModel,srv_List)).start();
	       
	       }
	       catch(IOException e)
	       {System.out.println(e.toString());}
     }
     
     		
class ActionResponse implements ActionListener
 {
  public void actionPerformed (ActionEvent e) 
  {  
    String cmd = e.getActionCommand();
	if (cmd.equals("增加Atm"))
	{
      DefaultMutableTreeNode newNode = new DefaultMutableTreeNode("新节点");
      treeModel.insertNodeInto(newNode,nodeAtm, nodeAtm.getChildCount());
      tree.scrollPathToVisible(new TreePath(newNode.getPath()));
      atm_List.addElement(newNode);
    }
    if (cmd.equals("增加Srv"))
	{
		treeModel.removeNodeFromParent((DefaultMutableTreeNode)atm_List.elementAt(0));
                   // treeModel.reload();
                   
        atm_List.remove(0);
        
	}
	
		  
  }
 }
    
}

⌨️ 快捷键说明

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