2023年6月22日发(作者:)
JavaSwingJTree获取选中节点、⽗节点、⼦节点package est;
import ueue;import vent;
import ;import ;import ;import order;import lectionEvent;import lectionListener;import tMutableTreeNode;import th;import lPane;import ield;
public class AppDemo extends JFrame {
private JPanel contentPane; private JTextField textField; public static void main(String[] args) { Later(new Runnable() { public void run() { try { AppDemo frame = new AppDemo(); ible(true); } catch (Exception e) { tackTrace(); } } }); }
public AppDemo() { setDefaultCloseOperation(_ON_CLOSE); setBounds(100, 100, 450, 300); setTitle("测试"); contentPane = new JPanel(); der(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); out(null); JScrollPane scrollPane = new JScrollPane(); nds(30, 20, 196, 217); (scrollPane); final JTree tree = new JTree(); wportView(tree); textField = new JTextField(); nds(252, 35, 172, 27); (textField); eSelectionListener(new TreeSelectionListener() { public void valueChanged(TreeSelectionEvent e) {//当我们在JTree上点选任何⼀个节点,都会触发TreeSelectionEvent事件 //根据数字 0、1、2··区分根节点、⼦节点// int z = ectionCount();// n(z);// String name=((DefaultMutableTreeNode) ectionPath().getPathComponent(z)).toString(); //获取当前节点和前⾯所有节点的值// TreePath note = ectionPath(); //获取当前选择节点的值 //⽅法⼀ DefaultMutableTreeNode note = (DefaultMutableTreeNode) tSelectedPathComponent();// String name = ng();//获得这个结点的名称 //⽅法2// String name=((DefaultMutableTreeNode) ectionPath().getLastPathComponent()).toString(); // 获取选中节点的⽗节点 DefaultMutableTreeNode parent = (DefaultMutableTreeNode) ent(); //获取⽗节点的⼦节点(⾸个⼦节点和最后⼀个⼦节点) DefaultMutableTreeNode FirstChild = (DefaultMutableTreeNode) stChild(); DefaultMutableTreeNode LastChild = (DefaultMutableTreeNode) tChild(); n("选中节点的⼦节点"+ng()); if (parent == null) { return; } // 获取选中节点的节点索引 int selectedIndex = ex(note);// n("选中节点的节点索引:"+selectedIndex); t(ng());
// 判断是否为树叶节点,若是则显⽰⽂件内容,若不是则不做任何事。// if (()) {// /*// * 取得⽂件的位置路径,perty("")可以取得⽬前⼯作的路径,// * perty("tor")是取得⽂件分隔符,例如在window环境的// * ⽂件分陋符是"",⽽Unix环境的⽂件分隔符刚好相反,是"/".利⽤perty()// * ⽅法你可以取得下列的信息: n 显⽰java版本 显⽰java制造商// * 显⽰java制造商URL 显⽰java的安装路径// * n 显⽰java类版本 显⽰java classpath// * 显⽰操作系统名称 显⽰操作系统结构,如x86 n 显⽰操作系统版本// * tor 取得⽂件分隔符 tor 取得路径分隔符,如Unix是以“:”表⽰// * tor 取得换⾏符号,如Unix是以"n"表⽰ 取得⽤户名称 // * 取得⽤户家⽬录(home directory),如Windows中Administrator的家⽬ 录为c:Documents// * and SettingsAdministrator 取得⽤户⽬前的⼯作⽬录.// */// String filepath = "file:" + perty("")// + perty("tor") + note;// n(filepath);try {// 利⽤JEditorPane的setPage()⽅法将⽂件内容显⽰在editorPane中。若⽂件路径错误,则会产⽣e(filepath);} catch (IOException ex) {n("找不到此⽂件");}// } } }); //添加⿏标事件 seListener(new dapter() { public void mouseClicked(vent evt) {// 默认单击⿏标⼀下// if(ckCount()==1){// n("⼀下");// } //点击⿏标左键两下// 1 左键// 2 中键(Sun Mouse)// 3 右键 if(ifiers()==1_MASK && ckCount()==2) { n("两下"); } } }); }}
发布者:admin,转转请注明出处:http://www.yc00.com/web/1687382880a5940.html
评论列表(0条)