Java Swing 树组件与表格组件/将按钮绑定到键盘的步骤与细节

本文介绍了Java Swing中的树组件和表格组件的使用,包括JTree和JTable的创建与操作,以及如何将按钮绑定到键盘上。在树组件部分,讲解了DefaultMutableTreeNode结点及TreeSelectionEvent事件的处理。表格组件部分,通过实例展示了JTable的构造和刷新方法。键盘绑定部分,详细阐述了如何通过AbstractAction和ActionListener实现键盘操作。最后,提到了CSS的伪类和伪元素,以及JavaScript的浏览器对象模型。
摘要由CSDN通过智能技术生成

树组件

JTree类的对象称为树组件,是比较常用的组件之一

DefaultMutableTreeNode 结点
//树组件都是由结点组成的

可以用DefaultMutableTreeNode类创建对象//因为实现了MutableTreeNode接口

  • DefaultMutableTreeNode(Object userObject)//默认可以有子结点,使用add()方法添加
  • DefaultMutableTreeNode(Object userObject,boolean allowChildren)//可以设置是否拥有子结点

树上的TreeSelectionEvent事件

  • addTreeSelectionListen(TreeSelectionListener listener)//树组件的监视器
  • public void getvalueChange(TreeSelectionEvent e)//接口中的方法

另外树可以调用getLastSelectedPathComponent()//获取选中的节点

例子
创建一个窗口自己做监视器

import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.*;

public class myTreeWindow extends JFrame implements TreeSelectionListener {
   
    JTree jTree;
    JTextArea jTextArea;
    myTreeWindow(){
   
        setBounds(300,300,400,400);
        setTitle("树组件");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        init();
        validate();
    }
    void init(){
   
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("产品");
        DefaultMutableTreeNode TV = new DefaultMutableTreeNode("电视机");
        DefaultMutableTreeNode tv1 = new DefaultMutableTreeNode(new product("小米电视机",2999.00));
        DefaultMutableTreeNode tv2 = new DefaultMutableTreeNode(new product("大米电视机",3999.00));
        DefaultMutableTreeNode PHONE = new DefaultMutableTreeNode("手机");
        DefaultMutableTreeNode phone1 = new DefaultMutableTreeNode(new product("iPhone 11",4999.00));
        DefaultMutableTreeNode phone2 = new DefaultMutableTreeNode(new product("iPhone SE",2999.00));
        TV.add(tv1);
        TV.add(tv2);
        PHONE.add(phone1);
        PHONE.add(phone2);
        root.add(TV);
        root.add(PHONE);
        setLayout(new GridLayout(1,2));   //一行两列的布局
        jTree = new JTree(root);    //将根放到树中
        jTree.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值