📄 widecelleditor.java
字号:
/* ( swing1.1beta3 ) swing#1007 */package tame.tree;import java.awt.Component;import java.awt.Dimension;import java.awt.Rectangle;import javax.swing.JTree;import javax.swing.tree.DefaultTreeCellEditor;import javax.swing.tree.DefaultTreeCellRenderer;import javax.swing.tree.TreeCellEditor;import javax.swing.tree.TreePath;/**@author Nobuo Tamemasa@version 1.0 11/09/98*/public class WideCellEditor extends DefaultTreeCellEditor { public WideCellEditor(JTree tree, DefaultTreeCellRenderer renderer) { this(tree, renderer, null); } public WideCellEditor(final JTree tree, final DefaultTreeCellRenderer renderer, TreeCellEditor editor) { super(tree,renderer,editor); editingContainer = new WideEditorContainer(); } public Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) { Component c = super.getTreeCellEditorComponent(tree, value, isSelected, expanded, leaf, row); ((WideEditorContainer)editingContainer).setLocalCopy( tree,lastPath,offset,editingComponent); return c; } class WideEditorContainer extends DefaultTreeCellEditor.EditorContainer { JTree tree; TreePath lastPath; int offset; Component editingComponent; public void doLayout() { if (editingComponent != null) { Dimension cSize = getSize(); Dimension eSize = editingComponent.getPreferredSize(); int n = lastPath.getPathCount(); Rectangle r = new Rectangle(); r = tree.getBounds(r); eSize.width = r.width -(offset *n); editingComponent.setSize(eSize); editingComponent.setLocation(offset, 0); editingComponent.setBounds(offset, 0, eSize.width, cSize.height); setSize(new Dimension(eSize.width + offset, cSize.height)); } } void setLocalCopy(JTree tree, TreePath lastPath, int offset,Component editingComponent) { this.tree = tree; this.lastPath = lastPath; this.offset = offset; this.editingComponent = editingComponent; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -