亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? treedemo5.java

?? 詳細介紹JTree兩個常用的事件與處理,分別是TreeModeEvent與TreeSelectionEvent.
?? JAVA
字號:
/**10-7:JTree的事件處理模式:
    在此節中,我們將詳細介紹JTree兩個常用的事件與處理,分別是TreeModeEvent與TreeSelectionEvent.
10-7-1:處理TreeModeEvent事件:
    當樹的結構上有任何改變時,例如節點值改變了、新增節點、刪除節點等,都會
TreeModelEvent事件,要處理這樣的事件必須實作TreeModelListener接口,此界面定義了4個方法
如下所示:
TreeModelListener方法:
1、Void treeNodesChanged(TreeModelEvent e):當節點改變時系統就會云調用這個方法。
2、Void treeNodesInserted(TreeModelEvent e):當新增節時系統就會去調用這個方法。
3、Void treeNodesRemoved(TreeModeEvent e):當刪除節點時系統就會去調用這個方法。
4、Void treeStructureChanged(TreeModelEvent e):當樹結構改變時系統就會去調用這個方法。

TreeModelEvent類本身提供了5個方法,幫我們取得事件的信息,如下所示:

TreeModelEvent方法:
1、int[] getChildIndices():返回子節點群的索引值。
2、Object[] getChildren():返回子節點群.
3、Object[] getPath():返回Tree中一條path上(從root nod到leaf node)的節點。
4、TreePath getTreePath():取得目前位置的Tree Path.
5、String toString():取得蝗字符串表示法.

    *由TreeModelEvent的getTreePath()方法就可以得到TreePath對象,此對象就能夠讓我們知道
用戶目前正選哪一個節點,TreePath類最常用的方法為:
    publicObject getLastPathComponent():取得最深(內)層的節點。
    public int getPathCount():取得此path上共有幾個節點.
    我們來看下面這個例子,用戶可以在Tree上編輯節點,按下[Enter]鍵后就可以改變原有的值,并將改變的值顯示在下面的
JLabel中:
*/

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
//import com.incors.plaf.alloy.*;
//import com.incors.plaf.alloy.themes.bedouin.*;

public class TreeDemo5 implements TreeModelListener
{
JLabel label = null;
static String nodeName = null; //原有節點名稱
public TreeDemo5(){
UIManager.getLookAndFeelDefaults().put("ClassLoader", getClass().getClassLoader());
JFrame f = new JFrame("TreeDemo");
Container contentPane = f.getContentPane();

DefaultMutableTreeNode root = new DefaultMutableTreeNode("資源管理器");
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("文件夾");
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("我的電腦");
DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("收藏夾");
DefaultMutableTreeNode node4 = new DefaultMutableTreeNode("Readme");
root.add(node1);
root.add(node2);
root.add(node3);
root.add(node4);

DefaultMutableTreeNode leafnode = new DefaultMutableTreeNode("公司文件");
node1.add(leafnode);
leafnode = new DefaultMutableTreeNode("個人信件");
node1.add(leafnode);
leafnode = new DefaultMutableTreeNode("私人文件");
node1.add(leafnode);

leafnode = new DefaultMutableTreeNode("本機磁盤(C:)");
node2.add(leafnode);
leafnode = new DefaultMutableTreeNode("本機磁盤(D:)");
node2.add(leafnode);
leafnode = new DefaultMutableTreeNode("本機磁盤(E:)");
node2.add(leafnode);

DefaultMutableTreeNode node31 = new DefaultMutableTreeNode("網站列表");
node3.add(node31);

leafnode = new DefaultMutableTreeNode("天勤網站");
node31.add(leafnode);
leafnode = new DefaultMutableTreeNode("足球消息");
node31.add(leafnode);
leafnode = new DefaultMutableTreeNode("網絡書店");
node31.add(leafnode);

//************************************************************************
JTree tree = new JTree(root);
tree.setEditable(true);//設置JTree為可編輯的
tree.addMouseListener(new MouseHandle());//使Tree加入檢測Mouse事件,以便取得節點名稱 
//下面兩行取得DefaultTreeModel,并檢測是否有TreeModelEvent事件.
DefaultTreeModel treeModel = (DefaultTreeModel)tree.getModel();

treeModel.addTreeModelListener(this);
//************************************************************************

JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(tree);

label = new JLabel("更改數據為: ");
contentPane.add(scrollPane,BorderLayout.CENTER);
contentPane.add(label,BorderLayout.SOUTH);
f.pack();
f.setVisible(true);

f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

}

public void treeNodesChanged(TreeModelEvent e) {	
  System.out.println("treeNodesChanged");
  TreePath treePath = e.getTreePath();
  System.out.println(treePath);
//下面這行由TreeModelEvent取得的是以DefaultMutableTreeNode為節點的父節點,而不是
//用戶點選的節點,這點讀者要特別注意。要取得真正的節點需要再加寫下面6行代碼.
DefaultMutableTreeNode node = (DefaultMutableTreeNode)treePath.getLastPathComponent();
  try {
//getChildIndices()方法會返回目前修改節點的索引值。由于我們只修改一個節點,因此節點索引值就放在index[0]
//的位置,若點選的節點為root node,則getChildIndices()的返回值為null,程序下面的第二行就在處理點選root
//node產生的NullPointerException問題.
     int[] index = e.getChildIndices();     
     System.out.println(index.length);

//由DefaultMutableTreeNode類的getChildAt()方法取得欲修改的節點對象.
     node = (DefaultMutableTreeNode)node.getChildAt(index[0]);
  } catch (NullPointerException exc) {}
//由DefaultMutableTreeNode類getUserObject()方法取得節點的內容,或是寫成node.toString()亦相同.
  label.setText(nodeName+"更改數據為: "+(String)node.getUserObject());
}
public void treeNodesInserted(TreeModelEvent e) {
}
public void treeNodesRemoved(TreeModelEvent e) {
  System.out.println("treeNodesRemoved!");
}
public void treeStructureChanged(TreeModelEvent e) {
}

public static void main(String args[]) {
  new TreeDemo5();
  System.out.println("haha!");
  //new TreeDemo5();
}

}

//處理Mouse點選事件
class MouseHandle extends MouseAdapter
{
public void mousePressed(MouseEvent e) 
{
try{
JTree tree = (JTree)e.getSource();
//JTree的getRowForLocation()方法會返回節點的列索引值。例如本例中,“本機磁盤(D:)”的列索引值為4,此索引值
//會隨著其他數據夾的打開或收起而變支,但“資源管理器”的列索引值恒為0. 
int rowLocation = tree.getRowForLocation(e.getX(), e.getY());
//System.out.println("rowLocation為:"+rowLocation);
//JTree的getPathForRow()方法會取得從root node到點選節點的一條path,此path為一條直線,如程序運行的圖示
//若你點選“本機磁盤(E:)”,則Tree Path為"資源管理器"-->"我的電腦"-->"本機磁盤(E:)",因此利用TreePath
//的getLastPathComponent()方法就可以取得所點選的節點.


TreePath treepath = tree.getPathForRow(rowLocation);
System.out.println("treepath為:"+tree.getSelectionPath());
TreeNode treenode = (TreeNode) treepath.getLastPathComponent(); 
TreeDemo5.nodeName = treenode.toString();
//System.out.println(treenode.toString());
}catch(NullPointerException ne){}
}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区免费在线| 日本欧美一区二区在线观看| 欧美精品一区在线观看| 精品欧美一区二区久久 | 日本韩国精品一区二区在线观看| 91黄色免费版| 国产偷v国产偷v亚洲高清| 亚洲一区二区三区四区不卡| 久久av资源站| 在线观看欧美日本| 中文字幕一区二区视频| 国产激情一区二区三区| 91精品国产91久久久久久最新毛片 | 亚洲国产精品自拍| 99国产精品久久久久久久久久 | 国产调教视频一区| 国产亚洲自拍一区| 精品久久人人做人人爰| 亚洲gay无套男同| 色综合色狠狠综合色| 精品国产亚洲一区二区三区在线观看| 一区二区在线免费观看| 欧美精品xxxxbbbb| 亚洲最新在线观看| eeuss鲁片一区二区三区| 国产清纯在线一区二区www| 青青草一区二区三区| 正在播放亚洲一区| 视频一区二区国产| 欧美久久久久免费| 亚洲国产wwwccc36天堂| 欧美日韩你懂的| 亚洲精品自拍动漫在线| 91视视频在线观看入口直接观看www | av成人免费在线观看| 欧美一区永久视频免费观看| 亚洲国产日韩在线一区模特| 色综合一个色综合亚洲| 91网站最新地址| 国产精品久久久久久久蜜臀| av在线不卡免费看| 亚洲欧美偷拍三级| 91日韩一区二区三区| 一级特黄大欧美久久久| 欧美人牲a欧美精品| 亚洲成人av一区| 精品日韩成人av| 国产福利91精品| 亚洲女人的天堂| 中文字幕成人在线观看| 91麻豆精品国产| 国产成人综合亚洲91猫咪| 99re视频精品| 亚洲综合无码一区二区| 欧美午夜一区二区| 免费在线成人网| 亚洲国产激情av| 色噜噜偷拍精品综合在线| 午夜国产精品影院在线观看| 欧美哺乳videos| 粉嫩av一区二区三区| 亚洲黄色av一区| 欧美电影免费观看高清完整版在| 国产高清精品在线| 一区二区三区四区精品在线视频 | a级高清视频欧美日韩| 亚洲在线视频免费观看| 欧美精品一区二区三区高清aⅴ | 久久亚洲私人国产精品va媚药| 免费成人在线视频观看| 精品第一国产综合精品aⅴ| 成人久久18免费网站麻豆| 亚洲色图都市小说| 欧美成人a∨高清免费观看| 91浏览器在线视频| 麻豆国产精品视频| 亚洲欧美日韩国产另类专区| 日韩一级黄色大片| 91免费观看视频在线| 久久99精品一区二区三区| 亚洲四区在线观看| 乱中年女人伦av一区二区| 综合久久综合久久| 黄色精品一二区| 国产精品萝li| 99热精品国产| 麻豆国产精品一区二区三区| 美日韩黄色大片| 日韩欧美久久一区| 色噜噜狠狠成人中文综合| 国产成人精品亚洲777人妖| 亚洲午夜激情网站| 亚洲日本免费电影| 久久亚洲综合av| 911精品产国品一二三产区| 99精品久久免费看蜜臀剧情介绍| 精品一区二区三区不卡| 亚洲成人在线网站| 一区二区免费在线| 日韩码欧中文字| 国产精品久久久久影院亚瑟| 欧美精品一区二区在线观看| 91麻豆精品91久久久久久清纯| 在线免费观看视频一区| 成人h动漫精品| 国产69精品久久久久毛片 | 亚洲一区在线观看免费| 国产精品国产三级国产普通话蜜臀| 精品国产123| 精品国产免费一区二区三区四区 | 中文字幕第一区第二区| 久久久精品日韩欧美| 久久久www成人免费无遮挡大片| 欧美大胆人体bbbb| 日韩精品一区二区三区视频在线观看| 欧美日产在线观看| 制服丝袜成人动漫| 欧美一二三四在线| 777久久久精品| 日韩视频在线你懂得| 日韩欧美资源站| 久久综合色鬼综合色| 久久综合九色综合久久久精品综合 | 风间由美性色一区二区三区| 国产精品18久久久久久久网站| 国产毛片精品视频| 国产成人欧美日韩在线电影| 国产成人av一区| av在线一区二区三区| 在线观看亚洲成人| 欧美电影在线免费观看| 日韩亚洲欧美一区| 久久亚洲影视婷婷| 日本一区二区三级电影在线观看 | 裸体一区二区三区| 国产毛片精品视频| 99久久er热在这里只有精品66| 一本色道亚洲精品aⅴ| 欧美日韩精品是欧美日韩精品| 欧美电影免费观看高清完整版在线| 久久久精品综合| 亚洲精品国产高清久久伦理二区| 天天av天天翘天天综合网| 精一区二区三区| 91免费观看视频| 日韩一级大片在线| 国产精品久久99| 视频一区在线视频| 丁香另类激情小说| 欧美日韩性生活| 国产精品天天看| 亚洲国产精品综合小说图片区| 裸体一区二区三区| 色呦呦一区二区三区| 日韩久久精品一区| 最新久久zyz资源站| 青青草原综合久久大伊人精品优势| 成人国产视频在线观看| 欧美群妇大交群的观看方式| 欧美激情在线一区二区| 天天色天天操综合| 91视频免费播放| 欧美sm美女调教| 亚洲欧美日韩国产手机在线| 奇米影视7777精品一区二区| 99久久精品国产网站| 精品日本一线二线三线不卡| 亚洲精品视频免费观看| 国产综合成人久久大片91| 色偷偷久久人人79超碰人人澡| 精品成a人在线观看| 亚洲自拍偷拍欧美| av亚洲精华国产精华精华| 欧美成人艳星乳罩| 亚洲成人一二三| 91免费国产在线| 国产精品乱人伦中文| 黄色日韩网站视频| 欧美一级一区二区| 亚洲大片一区二区三区| 99久久久国产精品| 中文字幕va一区二区三区| 精品一区精品二区高清| av男人天堂一区| 国产日产精品一区| 精品一区二区免费看| 欧美精品一二三| 香蕉久久一区二区不卡无毒影院| 91在线你懂得| 最新不卡av在线| 成人精品视频一区| 26uuu另类欧美| 国产在线视视频有精品| 91精品国产免费久久综合| 天堂蜜桃一区二区三区 | eeuss鲁片一区二区三区在线看| 久久综合九色综合欧美98 | 精品88久久久久88久久久| 日本视频在线一区| 欧美日韩国产色站一区二区三区|