節點提示源碼
1. 用友軟體,登陸本地伺服器打開節點時提示UnitRCBO_Client.openMainFrame,登陸伺服器時就可以正常打開節點
勾選後若出現有可能是網路問題,或者在這個地方\windows\sytem32\uf2000查看原磨攔因,顫陵具體處瞎洞胡理辦法
2. java swing左邊樹圖,當點擊任意節點時,右邊顯示顯示數據, 求一個簡單的源碼例子
importjava.awt.BorderLayout;
importjava.awt.Container;
importjava.awt.Dimension;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JTree;
importjavax.swing.event.TreeSelectionEvent;
importjavax.swing.event.TreeSelectionListener;
importjavax.swing.tree.DefaultMutableTreeNode;
{
privateJPanelp;
publicTestSwingTree(Stringtitle){
super(title);
}
publicvoidinit(){
Containerc=this.getContentPane();
DefaultMutableTreeNoderoot=newDefaultMutableTreeNode("root");
DefaultMutableTreeNodechild1=newDefaultMutableTreeNode("child1");
DefaultMutableTreeNodechild11=newDefaultMutableTreeNode("child11");
DefaultMutableTreeNodechild12=newDefaultMutableTreeNode("child12");
DefaultMutableTreeNodechild2=newDefaultMutableTreeNode("child2");
DefaultMutableTreeNodechild3=newDefaultMutableTreeNode("child3");
DefaultMutableTreeNodechild31=newDefaultMutableTreeNode("child31");
root.add(child1);
root.add(child2);
root.add(child3);
child1.add(child11);
child1.add(child12);
child3.add(child31);
JTreetree=newJTree(root);
tree.setPreferredSize(newDimension(120,400));
tree.addTreeSelectionListener(newTreeSelectionListener(){
publicvoidvalueChanged(TreeSelectionEvente){
p.removeAll();
JLabell=newJLabel(e.getPath().toString());
l.setBounds(5,190,170,20);
p.add(l);
p.repaint();
}
});
c.add(tree,BorderLayout.WEST);
p=newJPanel();
p.setLayout(null);
p.setPreferredSize(newDimension(180,400));
c.add(p,BorderLayout.CENTER);
this.setLocation(400,300);
this.setSize(300,400);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(this.DISPOSE_ON_CLOSE);
}
publicstaticvoidmain(String[]args){
newTestSwingTree("TestSwingJtree").init();
}
}
3. 如何動態給節點增加title屬性或者修改提示信息值
對於zTree樹控制項,節點的默認提示信息title是節點的name,也就是默認顯示節點的名稱。你認真了解zTree,不難發現主要是key值在作祟:x0dx0ax0dx0aview sourceprint?x0dx0a1.var setting = {x0dx0a2.data: {x0dx0a3.key: {x0dx0a4.title: "s"//這里的s表示節點內的s屬性x0dx0a5.},x0dx0ax0dx0a這里的key內的title默認指向的就是name屬性,或者為空,為空的時候也會默認為name屬性。x0dx0a針對這位朋友的問題,其實方法很多:x0dx0a1、在後台構造屬性x0dx0a在ajax頁面內從資料庫拿到數據list過後通過new的形式給最終返回的json對象構造一個屬性t出來。然後修改setting內key的title指向屬性值為t即可。x0dx0a返回的json對象數據為:x0dx0ax0dx0aview sourceprint?x0dx0a1.var zNodes =[x0dx0a2.{ id:1, pId:0, name:"節點搜索演示 1", t:"節點提示信息1", open:true},x0dx0a3.{ id:11, pId:1, name:"關鍵字可以是名字", t:"節點提示信息2"},x0dx0a4.{ id:12, pId:1, name:"關鍵字可以是level", t:"節點提示信息3"}x0dx0a5.];x0dx0ax0dx0a修改setting內對應的key值x0dx0ax0dx0aview sourceprint?x0dx0a1.var setting = {x0dx0a2.data: {x0dx0a3.key: {x0dx0a4.title: "t"//這里的s表示節點內的s屬性x0dx0a5.},x0dx0ax0dx0a2、動態修改樹節點的屬性x0dx0a當前台給zTree樹對象賦值結束後獲取所有樹節點,然後逐個更新樹節點的屬性值,示例代碼如下所示:x0dx0ax0dx0aview sourceprint?x0dx0a01.$(document).ready(function () {x0dx0a02.$.fn.zTree.init($("#treeDemo"), setting, zNodes);x0dx0a03.//獲取樹對象x0dx0a04.var treeObj = $.fn.zTree.getZTreeObj("treeDemo");x0dx0a05.//拿到所有樹節點x0dx0a清並06.var nodes = treeObj.getNodes();x0dx0a07.//for循環逐個修改樹節點屬性x0dx0a08.for(var i = 0;i 4. Swing程序題:用JTree創建一個節點樹,當滑鼠點節點時會彈出一個框來顯示當前子節點的信息。 importjavax.swing.JFrame; importjavax.swing.JOptionPane; importjavax.swing.JScrollPane; importjavax.swing.JTree; importjavax.swing.ScrollPaneConstants; importjavax.swing.UIManager; importjavax.swing.; importjavax.swing.event.TreeSelectionEvent; importjavax.swing.event.TreeSelectionListener; importjavax.swing.tree.DefaultMutableTreeNode; importjavax.swing.tree.DefaultTreeModel; /** * *@author逝水 * */ { =-6209666185329417356L; //樹組件 protectedJTreejTree; publicJTreeDemo(){ init(); } //初始鎮知化 privatevoidinit(){ jTree=newJTree(); //樹節點的相關數據 DefaultMutableTreeNoderoot=newDefaultMutableTreeNode("三國名將"); DefaultMutableTreeNodeshu=newDefaultMutableTreeNode("蜀國"); DefaultMutableTreeNodewei=newDefaultMutableTreeNode("魏國"); DefaultMutableTreeNodewu=newDefaultMutableTreeNode("吳國"); shu.add(newDefaultMutableTreeNode("關羽"凱碰)); shu.add(newDefaultMutableTreeNode("張飛")); shu.add(newDefaultMutableTreeNode("趙雲")); shu.add(newDefaultMutableTreeNode("馬超")); shu.add(newDefaultMutableTreeNode("黃忠")); wei.add(newDefaultMutableTreeNode("張遼")); wei.add(newDefaultMutableTreeNode("典韋")); wei.add(newDefaultMutableTreeNode("夏侯惇")); wei.add(newDefaultMutableTreeNode("許褚")); wei.add(newDefaultMutableTreeNode("徐晃")); wu.add(newDefaultMutableTreeNode("太史慈")); wu.add(newDefaultMutableTreeNode("甘寧")); wu.add(newDefaultMutableTreeNode("孫策")); wu.add(newDefaultMutableTreeNode("周瑜")); wu.add(newDefaultMutableTreeNode("陸遜")); root.add(shu); root.add(wei); root.add(wu); //樹的數據模型 DefaultTreeModelmodel=newDefaultTreeModel(root); //設置數據模型 jTree.setModel(model); //御孫消展開所有樹 for(inti=0;i<jTree.getRowCount();i++) jTree.expandRow(i); //添加事件 jTree.addTreeSelectionListener(this); //滾動面板 JScrollPanejScrollPane=newJScrollPane(jTree, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //添加樹到滾動面板 jScrollPane.getViewport().add(jTree); //添加滾動面板到窗口中 this.getContentPane().add(jScrollPane); this.setTitle("JTree的事件例子"); this.pack(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } publicstaticvoidmain(String[]args){ //Windows風格 //StringlookAndFeel="com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; //WindowsClassic風格 //StringlookAndFeel="com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel"; //系統當前風格 StringlookAndFeel=UIManager.getSystemLookAndFeelClassName(); try{ UIManager.setLookAndFeel(lookAndFeel); }catch(ClassNotFoundExceptione){ e.printStackTrace(); }catch(InstantiationExceptione){ e.printStackTrace(); }catch(IllegalAccessExceptione){ e.printStackTrace(); }catch(e){ e.printStackTrace(); } JTreeDemodemo=newJTreeDemo(); demo.setVisible(true); } @Override publicvoidvalueChanged(TreeSelectionEvente){ //獲取選擇的節點 DefaultMutableTreeNodenode=(DefaultMutableTreeNode)jTree .getLastSelectedPathComponent(); if(node.getLevel()==0){ //顯示提示信息 JOptionPane.showMessageDialog(null, node.getUserObject()+":共"+node.getChildCount()+"個國家"); }elseif(node.getLevel()==1){ //顯示提示信息 JOptionPane.showMessageDialog(null, node.getUserObject()+":共"+node.getChildCount()+"名名將"); }elseif(node.getLevel()==2){ //顯示提示信息 JOptionPane.showMessageDialog(null,node.getParent()+"名將:"+ node.getUserObject()); } } } 5. 如何動態給節點增加title屬性或者修改提示信息值
對於zTree樹控制項,節點的默認提示信息title是節點的name,也就是默認顯示節點的名稱。你認真了解zTree,不難發現主要是key值在作祟: 6. C#.NET 中 樹節點的提示框(TOOLTIP)如何設置延遲時間
這個問題搜州旦有點兒難度,給你一點兒一點兒解釋吧,首先這個tooltip的顯示時間的控制是由windows完成的,你可以通過SystemInfomation這個類的MouseHoverTime獲取 7. Swing JTree 滑鼠懸停某個節點一段時間 出現懸停窗口!最好給出代碼。 下面的代碼可以直接顯示純文本做橋的提示: 如果要顯示自定義的提示窗槐咐口需要自己編碼實現,大概思路如下: 1、監聽滑鼠事件 2、在mouseEnter中啟動一個定時器 3、定時器到期後檢查滑鼠是否有移動,如果沒有那麼顯示一個tip窗口 8. redis hashtag一文搞懂,源碼解析
僅僅花括弧中間的部分參與hash,hash結果為slot編號。 9. 編個小程序,完成一個圖上面畫一個點,給點標一個名字並且保存下來。可用任一一種語言編寫,請寫出源代碼。 importjava.awt.event.MouseEvent; importjava.awt.event.MouseListener; importjavax.swing.*; importjava.awt.*; importjava.util.LinkedList; { privateLinkedList<Point>list;//新建一個Point類型的鏈表存儲用於存儲「節點」 privatefinalintWIDTH=318,HEIGHT=340; privateDimensionscrnsize; privateToolkittoolkit=Toolkit.getDefaultToolkit(); publicDrawPoint(){ //TODOAuto-generatedconstructorstub list=newLinkedList<Point>();//鏈表初始化 //窗口設置部分,不比細究 this.setSize(WIDTH,HEIGHT); this.setResizable(false); this.setDefaultCloseOperation(EXIT_ON_CLOSE); scrnsize=toolkit.getScreenSize(); setLocation(scrnsize.width/2-getWidth()/2, scrnsize.height/2-getHeight()/2); this.addMouseListener(this);//添加窗口滑鼠監聽 this.setVisible(true); } @Override publicvoidmouseClicked(MouseEvente){ //TODOAuto-generatedmethodstub } @Override publicvoidmouseEntered(MouseEvente){ //TODOAuto-generatedmethodstub } @Override publicvoidmouseExited(MouseEvente){ //TODOAuto-generatedmethodstub } @Override public哪棗弊voidmousePressed(MouseEvente){ //TODOAuto-generatedmethodstub } @Override publicvoidmouseReleased(MouseEvente){ //為滑鼠按鈕釋放添加事岩隱件處理 //TODOAuto-generatedmethodstub intx=e.getX();//獲取滑鼠的x坐標 inty=e.getY();//獲取滑鼠的y坐標 Stringstr=JOptionPane.showInputDialog(null,"請輸入改點標記文字"); //顯示對話框,根據用戶輸入得到標記文字 if(str!=null){//若標記文字不為空,則該點視為有效點,將該點加入鏈表 list.add(newPoint(x,y,str)); } repaint();//用該函數調用paint()方法,進行重構操作 this.validate(); } publicvoidpaint(Graphicsg){ if(list.isEmpty())//如果鏈表為空,不進行任何操作,直接返回 return; for(Pointp:list){//遍歷數李族組,獲取所有節點 g.drawOval(p.getX(),p.getY(),2,2);//先畫點 g.drawString(p.getS(),p.getX()+5,p.getY()+6);//再標注節點的描述性文字 } } publicstaticvoidmain(Stringargs[]){ DrawPointp=newDrawPoint(); } } classPoint{//節點類,包含x坐標,y坐標,描述性文字3個屬性 privateintx,y;//x坐標和y坐標 privateStrings;//描述性文字 publicPoint(){ x=0; y=0; s=""; } publicPoint(intx,inty,Strings){ this.x=x; this.y=y; this.s=s; } publicintgetX(){ returnx; } publicintgetY(){ returny; } publicStringgetS(){ returns; } } 10. jquery easyui Buttons ,怎麼懸浮有提示,title 不管用,是不是要改源碼,怎麼改啊,大神 你好,jquery easy ui 中懸浮提示是這樣加的 需要用到easyui-tooltip 這個class,如果沒有效果請引入jquery.tooltip.js 西褲可以解決你的問題
view sourceprint?
1.var setting = {
2.data: {
3.key: {
4.title: "s"//這里的s表示節點內的s屬性
5.},
這里的key內的title默認指向的就是name屬性,或者為空,為空的時候也會默認為name屬性。
針對這位朋友的問題,其實方法很多:
1、在後台構造屬性
在ajax頁面內從資料庫拿到數據list過後通過new的形式給最終返回的json對象構造一個屬性t出來。然後修改setting內key的title指向屬性值為t即可。
返回的json對象數據為:
view sourceprint?
橡虛1.var zNodes =[
2.{ id:1, pId:0, name:"節點搜索演示 1", t:"節點提示信息1", open:true},
3.{ id:11, pId:1, name:"關鍵字可以是名字", t:"節點提示信息2"},
4.{ id:12, pId:1, name:"關鍵字可以是level", t:"節點提示信息3"}
5.];
修改setting內對應的key值
view sourceprint?
1.var setting = {
2.data: {
3.key: {
4.title: "t"//這里的s表示節點內的s屬性
5.},
清並2、動態修改樹節點的屬性
當前台給zTree樹對象賦值結束後獲取所有樹節點,然後逐個更新樹節點的屬性值,示例代碼如下所示:
view sourceprint?
01.$(document).ready(function () {
02.$.fn.zTree.init($("#treeDemo"), setting, zNodes);
03.//獲取樹對象
04.var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
05.//拿到所有樹節點
06.var nodes = treeObj.getNodes();
07.//for循環逐個修改樹節點屬性
08.for(var i = 0;i<nodes.length;i++)
09.{
10.nodes[i].t = "可以自定義排序";
11.//更新節點
12.treeObj.updataNode(nodes[i]);
13.}
14.});
當前如果只是修改部分節點可以在for內加以控制,如果是只更新指定節點可以通過getNodeByParam("屬性名稱"答如跡,"值",父節點對象)找到指定對象,形如:
view sourceprint?
1.//給節點追加屬性
2.var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
3.var node = treeObj.getNodeByParam("id", 1, null);
4.node.s = "可以自定義排序";
5.treeObj.updateNode(node);
不知道你了解windows的消息處理機制么?當hover發生的時候,windows會向這個treeview發送一世擾個needtext消息,這個跡團消息在treeview的內部被處理,然後會顯示一個tooltip出來
不過有解決方案,就是主動攔截這個needtext消息,然後注冊一個timer,過一段時間以後再次發送這個消息到treeview
或者乾脆完全攔截needtext,然後注冊TreeNodeMouseHover自己來處理hover的行為,你也可以做一些優化
myTree.setToolTipText("我鉛胡純的提示");//這里也可以是簡單的html代碼
強制多個key寫入同一個slot,也就是同一個節點(假設沒有正在進行分片)。
在redis cluster中有16384個slot。
slot編號:0~16383。
cluster中存儲每個節點負責哪些slot。
cluster中存儲每個slot對應哪一個節神余點。
源碼有2處。
第一處:
https://github.com/redis/redis/blob/6.2.6/src/redis-cli.c
line:3282
方法:clusterManagetKeyHashSlot
第二處:
https://github.com/redis/redis/blob/6.2.6/src/cluster.c
line:749
方法:keyHashSlot
僅{...}里的部分參與hash。
如果有多個花括弧,從左向右,取第一個花括弧中的內容進行hash。
若第一個花括弧中內容為空如:a{}c{d},則整個key參與hash。
相同的hashtag被分配到相同的節點,相同的槽。
hash演算法採用crc16。crc16演算法為游隱滾redis自己封裝攜態的,源碼位置: https://github.com/redis/redis/blob/6.2.6/src/crc16.c 。
<ahref="#"title="Thisisthetooltipmessage."class="easyui-tooltip">Hoverme</a>