filetreecellrenderer.java

来自「JTree的视图展示:记录树的展开状况」· Java 代码 · 共 40 行

JAVA
40
字号
package fileTree;

import java.awt.Component;
import java.io.File;

import javax.swing.JTree;
import javax.swing.filechooser.FileSystemView;
import javax.swing.tree.DefaultTreeCellRenderer;

public class FileTreeCellRenderer extends DefaultTreeCellRenderer {

	private FileSystemView fileView;

	public FileTreeCellRenderer() {
		fileView = getFileView();
	}

	private FileSystemView getFileView() {
		if (fileView == null)
			fileView = FileSystemView.getFileSystemView();
		return fileView;
	}
	
	public Component getTreeCellRendererComponent(JTree tree, Object value,
			boolean selected, boolean expanded, boolean leaf, int row,
			boolean hasFocus) {
		super.getTreeCellRendererComponent(tree, value, selected, expanded,
				leaf, row, hasFocus);
		
		File file = ((FileTreeNode) value).getFile();
		
		// ======================== 返回系统文件浏览器中显示的文件、目录或文件夹的图标
		setIcon(fileView.getSystemIcon(file));
		// ======================== 在系统文件浏览器中显示的文件、目录或文件夹名
		setText(fileView.getSystemDisplayName(file));
		return this;
	}
}

⌨️ 快捷键说明

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