⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4.txt

📁 java图形GUI小程序粗糙而且功能有限业呵!刚刚开始学习JAVA,菜鸟一名
💻 TXT
字号:
import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  import javax.swing.tree.*;
  class Branch{
     DefaultMutableTreeNode r; 
//DefaultMutableTreeNode是树的数据结构中的通用节点,节点也可以有多个子节点。
    public Branch(String[] data){
       r=new DefaultMutableTreeNode(data[0]);
       for(int i=1;i<data.length;i++)
       r.add(new DefaultMutableTreeNode(data[i])); 
        //给节点r添加多个子节点
    }
    public DefaultMutableTreeNode node(){//返回节点
       return r;
    }
  }
  public class Trees extends JPanel{
    String [][]data={
            {"Colors","Red","Blue","Green"},
            {"Flavors","Tart","Sweet","Bland"},
            {"Length","Short","Medium","Long"},
            {"Volume","High","Medium","Low"},
            {"Temperature","High","Medium","Low"},
            {"Intensity","High","Medium","Low"}
            };
    static int i=0; //I用于统计按钮点击的次数
    DefaultMutableTreeNode root,child,chosen;
    JTree tree;
    DefaultTreeModel model;
    public Trees(){
       setLayout(new BorderLayout());
       root=new DefaultMutableTreeNode("root"); 
       //根节点进行初始化
       tree=new JTree(root); 
       //树进行初始化,其数据来源是root对象
       add(new JScrollPane(tree));
       //把滚动面板添加到Trees中
       model=(DefaultTreeModel)tree.getModel();
       //获得数据对象DefaultTreeModel
       JButton test=new JButton("Press me");
       //按钮test进行初始化
       test.addActionListener(new ActionListener(){
       //按钮test注册监听器
          public void actionPerformed(ActionEvent e){
          if (i<data.length){ 
          //按钮test点击的次数小于data的长度
              child=new Branch(data[i++]).node();
              //生成子节点
              chosen=(DefaultMutableTreeNode) 
              //选择child的父节点
                  tree.getLastSelectedPathComponent();
                  if(chosen==null) chosen=root;
                  model.insertNodeInto(child,chosen,0); 
                  //把child添加到chosen
          }
       }
    });
    test.setBackground(Color.blue); 
    //按钮test设置背景色为蓝色
    test.setForeground(Color.white); 
    //按钮test设置前景色为白色
    JPanel p=new JPanel(); 
    //面板p初始化
    p.add(test); 
    //把按钮添加到面板p中
    add(p,BorderLayout.SOUTH); 
    //把面板p添加到Trees中
  }
  public static void main(String args[]){
    JFrame jf=new JFrame("JTree demo");

    jf.getContentPane().add(new Trees(), BorderLayout.CENTER); 
           //把Trees对象添加到JFrame对象的中央
    jf.setSize(200,500);
    jf.setVisible(true);
  }
 }

⌨️ 快捷键说明

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