J트리 계층적 을 나타내는 구성요소입니다. 데이터 보기. 사용자는 확장 할 수 있습니다. 또는 접기 개별 하위 트리. 트리노드 인터페이스는 JTree 노드를 구현해야 하는 메소드를 정의합니다. 물체. DefaulMutableTreeNode 클래스는 TreeNode 의 기본 구현을 제공합니다. 상호 작용. getTreeCellRendererComponent() 를 재정의하여 JTree의 잎을 비활성화할 수 있습니다. D 방법 efaultTreeCellRenderer 수업.
구문
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus)
예시
import java.awt.*; import javax.swing.tree.*; import javax.swing.*; public class JTreeLeafNodeDisableTest extends JFrame { private TreeNode treeNode; private JTree tree; public JTreeLeafNodeDisableTest() { setTitle("JTreeLeafNodeDisable Test"); treeNode = new DefaultMutableTreeNode("Country"); tree = new JTree(); tree.setModel(new DefaultTreeModel(treeNode)); tree.setCellRenderer(new CustomDefaultTreeCellRenderer()); add(tree); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { new JTreeLeafNodeDisableTest(); } static class CustomDefaultTreeCellRenderer extends DefaultTreeCellRenderer { @Override public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { boolean enabled = false; sel = enabled; hasFocus = enabled; Component treeCellRendererComponent = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); treeCellRendererComponent.setEnabled(enabled); return treeCellRendererComponent; } } }
출력