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

📄 java.txt

📁 下拉框的监听引,树的监听引用,有非常详细的 注释
💻 TXT
字号:
package jtree;

import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.DefaultMutableTreeNode;//树
import java.awt.*;
import java.awt.event.*;
//                                             下拉框的监听引用 ,    树的监听引用    
public class MyF2 extends JFrame implements ItemListener, TreeSelectionListener {

JScrollPane jscp = new JScrollPane();

// 定义一个工具栏(可以放命令按钮,下拉框。)
JToolBar jtb = new JToolBar();

JButton jb = new JButton();

JComboBox jcb1 = new JComboBox();

JComboBox jcb2 = new JComboBox();

JTable jtable;

String title[] = { "学号", "姓名", "性别", "年龄" };

Object neirong[][] = { { "042801", "张建", "男", "20" },
    { "042802", "张建1", "男", "20" }, { "042803", "张建2", "男", "20" },
    { "042804", "张建3", "男", "20" }, { "042805", "张建4", "男", "20" } };
//增加一个文本框 
JTextField jtf = new JTextField(20);
//增加树的内容
DefaultMutableTreeNode root = new DefaultMutableTreeNode("学校");

DefaultMutableTreeNode root1 = new DefaultMutableTreeNode("教学部");

DefaultMutableTreeNode root2 = new DefaultMutableTreeNode("行政部");

DefaultMutableTreeNode root1a = new DefaultMutableTreeNode("0428");

DefaultMutableTreeNode root1b = new DefaultMutableTreeNode("0411");

DefaultMutableTreeNode root1a1 = new DefaultMutableTreeNode("仗剑");

DefaultMutableTreeNode root1b1 = new DefaultMutableTreeNode("同龄");

DefaultMutableTreeNode root2a = new DefaultMutableTreeNode("张三");

DefaultMutableTreeNode root2b = new DefaultMutableTreeNode("李四");

DefaultMutableTreeNode root2c = new DefaultMutableTreeNode("王五");

JTree jtree = new JTree(root);

public MyF2() {
   // 定义输出时,先内容后表头;第二行是将表内容属性改为不可写状态。
   jtable = new JTable(neirong, title) {
    public boolean isCellEditable(int rows, int column) {
     return false;
    }
   };
   // 将表字段属性改为不可移动。
   jtable.getTableHeader().setReorderingAllowed(false);

   // 命令按钮JB加图片
   jb.setIcon(new ImageIcon(getClass().getResource("/save.jpg")));
   // 命令按按钮JB加注释
   jb.setToolTipText("SAVE");
  
   // 工具栏上加按钮
   jtb.add(jb);
   // 工具栏上加下拉框
  
   jtb.add(jcb1);
  
   // 第一个下拉框里加内容
   jcb1.addItem("山西");
   jcb1.addItem("河北");

   root.add(root1);
   root1.add(root1a);
   root1a.add(root1a1);
   root1.add(root1b);
   root1b.add(root1b1);

   root.add(root2);
   root2.add(root2a);
   root2.add(root2b);
   root2.add(root2c);
   //对第一个下拉框加监听 (具体的事件方法:142行)
   jcb1.addItemListener(this);
  
   //工具栏上加第二个下拉框
   jtb.add(jcb2);
   //这个窗体上加一个工具栏 以边界布局形式放北面
   this.add(jtb, BorderLayout.NORTH);
  
   //窗体上再加一个滚动面板
   this.add(jscp);
   //滚动面板上加2维表Jtable
   jscp.setViewportView(jtable); // 滚动条加组件 //
  
   //窗体上加一个文本框放南面
   this.add(jtf, BorderLayout.SOUTH);
      //窗体上加一个树 放西面
   this.add(jtree, BorderLayout.WEST);
  
   //利用鼠标适配器对JTABLE进行调用(等同于用监听的方法做)
   jtable.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e) {

     int m = jtable.getSelectedRow();// 获取选取行
     int n = jtable.getSelectedColumn();//获取列
     int k = m + 1;// +1是因为默认方式为0行0列开始;
     int l=n+1;
     String tt1 = (String) jtable.getValueAt(m, n);
     jtf.setText("你选择的是第" + k + "行," + l+"列"+"      [ "+tt1+" ]");

    }
   });

   //对"树"监听 (方法见下:156行)
   jtree.addTreeSelectionListener(this);

   setSize(400, 300);
  
   //设置窗体的图标
   this.setIconImage(Toolkit.getDefaultToolkit().getImage(
     getClass().getResource("/AA.PNG")));
  
   this.setTitle("adfafdad");

   this.setVisible(true);
   // Toolkit kit=new Toolkit;

}

public static void main(String[] args) {
   new MyF2();

}

public void itemStateChanged(ItemEvent e) {
   String dizhi = (String) jcb1.getSelectedItem();
   if (dizhi.equals("山西")) {
    jcb2.removeAllItems();// 清空原有
    jcb2.addItem("太原");
    jcb2.addItem("大同");
   }
   if (dizhi.equals("河北")) {
    jcb2.removeAllItems();// 清空原有
    jcb2.addItem("保定");
    jcb2.addItem("邯郸");
   }
}

public void valueChanged(TreeSelectionEvent e) {
   DefaultMutableTreeNode node = (DefaultMutableTreeNode) jtree
     .getLastSelectedPathComponent();
   String no = node.toString();
   // if(node.isLeaf()){
   // if(no.equals("同龄")){
   // jtf.setText("我是同龄");
   // }
   jtf.setText("我是" + no);
   // }

}

}

⌨️ 快捷键说明

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