节点提示源码
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>