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

📄 tree.java

📁 一个java图像浏览器
💻 JAVA
字号:
import java.io.*;
import java.util.*;

import javax.swing.tree.DefaultMutableTreeNode;

public class Tree {

	final String CAT_FILENAME =  ".txt";
	final String KEYWORDS_FILENAME = "_key.txt";
	final String PHRASE_FILENAME = "_phr.txt";

	private HashMap<String, DefaultMutableTreeNode> map = new HashMap<String, DefaultMutableTreeNode>();
	private HashMap<Integer, String> index = new HashMap<Integer, String>();
	private HashMap<Integer, String> phrase = new HashMap<Integer, String>(); 

	private DefaultMutableTreeNode root = new DefaultMutableTreeNode();
	private String category;
	
	Tree(String s) {
		category = s;
	}

	public void cat() {
		node rootNode = new node("Top", 1);
		root.setUserObject(rootNode);
		map.put("Top", root);
		index.put(1, "Top");
		try {
			BufferedReader br = new BufferedReader(new FileReader(new File(
					category + CAT_FILENAME)));
			while (br.ready()) {
				Scanner sc = new Scanner(br.readLine());
				int num = sc.nextInt();
				String dir = sc.next();
				node newNode = new node(dir, num);
				DefaultMutableTreeNode newTreeNode = new DefaultMutableTreeNode();
				newTreeNode.setUserObject(newNode);
				String parent = newNode.getParent();
				DefaultMutableTreeNode parentNode = map.get(parent);
				parentNode.add(newTreeNode);
				newTreeNode.setParent(parentNode);
				map.put(dir, newTreeNode);
				index.put(num, dir);
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void key() {
		try {
			BufferedReader br = new BufferedReader(new FileReader(new File(
					category + KEYWORDS_FILENAME)));
			while (br.ready()) {
				Scanner sc = new Scanner(br.readLine());
				int num = sc.nextInt();
				String name = index.get(num);
				DefaultMutableTreeNode treeNode = map.get(name);
				node anode = (node) treeNode.getUserObject();
				int n = sc.nextInt();
				sc = new Scanner(br.readLine());
				int[] k = new int[n];
				for (int i = 0; i < n; i++) {
					k[i] = sc.nextInt();
					sc.nextDouble();
				}
				anode.setKeywords(k);
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public void phrase() {
			try {
				BufferedReader br = new BufferedReader(new FileReader(new File(
						category + PHRASE_FILENAME)));
				while (br.ready()) {
					String s = br.readLine();
					int key = Integer.valueOf(s.substring(0, s.indexOf(" ")));
					String value = s.substring(s.indexOf(" ") + 1, s.length());
					phrase.put(key, value);
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
	
	public String getPhrase(int i) {
		return phrase.get(i);
	}

	public DefaultMutableTreeNode getRoot() {
		return root;
	}
}

⌨️ 快捷键说明

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