- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题本质上如上所述。在此处的示例中:
http://www.primefaces.org/showcase-labs/ui/mindmap.jsf
如果您单击 NS(s),您可以单击您选择的子节点之一,例如 ns7.google.com,然后返回 NS(s),因为连接它们的行仍然存在。
我有 6 个条目,例如 1、2、3、4、5、6。它们都以各种方式链接,并在思维导图中以颜色显示。假设“1”是根节点。然后 2,3,4,5,6 出现。假设我单击 6 - 思维导图将重新绘制以显示 6 的链接,其中 1 位于角落以显示它是根。但是,如果我单击除 1 之外的任何节点,链接线都会消失,大多数节点也是如此(我不知道为什么有时是其中一些节点,有时是不同的节点,有时是一个节点,有时是全部节点!)我不能再走回头路了。下面是思维导图 bean 和 html 的代码:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jsf;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
import jpa.entities.Enginetable;
import jpa.session.EnginetableFacade;
import org.primefaces.event.SelectEvent;
import org.primefaces.model.mindmap.DefaultMindmapNode;
import org.primefaces.model.mindmap.MindmapNode;
/**
*
* @author AOL
*/
@Named(value = "mmBean")
@RequestScoped
public class mmBean implements Serializable{
@EJB
private jpa.session.EnginetableFacade ejbFacade;
private MindmapNode root;
private MindmapNode selectedNode;
private List<Enginetable> elements;
private List<Enginetable> filteredElements;
private List<Enginetable> userlist;
private Enginetable selectedElement;
private Enginetable[] selectedElements;
private List<Enginetable> elementlist = new ArrayList<Enginetable>();
private Enginetable nodeentity = new Enginetable();
private Enginetable rootentity = new Enginetable();
private Enginetable user = new Enginetable();
private static final String[] username;
static{
username = new String[10];
username[0] = "Mercedes";
username[1] = "BMW";
username[2] = "Volvo";
username[3] = "Audi";
username[4] = "Renault";
username[5] = "Opel";
username[6] = "Volkswagen";
username[7] = "Chrysler";
username[8] = "Ferrari";
username[9] = "Ford";
}
/**
* Creates a new instance of MmBean
*/
public mmBean() {
}
@PostConstruct
public void init() {
///if(elements==null){
elements = new ArrayList<Enginetable>();
this.userlist = this.getFullList();
Enginetable entity;
//}
//remoteuser=null;
// this.populateRandomElements(elements, 10);
this.populateRandomElements(elements,6);
// filteredElements = new ArrayList<Graphelement>();
this.user = this.userlist.get(0);
this.rootentity = this.user;
root = new DefaultMindmapNode(user.getStartnode(), "Google", "006666", false);
/*MindmapNode bmw = new DefaultMindmapNode("BMW", "IP Nos", "6e9ebf", true);
MindmapNode volvo = new DefaultMindmapNode("Volvo", "Names", "6e9ebf", true);
MindmapNode audi = new DefaultMindmapNode("Audi", "Malicious ", "6e9ebf", true);
MindmapNode renault = new DefaultMindmapNode("Renault", "IP Nos", "6e9ebf", true);
MindmapNode opel = new DefaultMindmapNode("Opel", "Names", "6e9ebf", true);
MindmapNode volkwagen = new DefaultMindmapNode("Volkswagen", "Malicious ", "6e9ebf", true);
MindmapNode chrysler = new DefaultMindmapNode("Chrysler", "IP Nos", "6e9ebf", true);
MindmapNode ferrari = new DefaultMindmapNode("Ferrari", "Names", "6e9ebf", true);
MindmapNode ford = new DefaultMindmapNode("Ford", "Malicious ", "6e9ebf", true);*/
Object label = root.getLabel();
for( int i = 0 ; i < this.userlist.size() ; i++){
entity = this.userlist.get(i);
if ( !label.equals(entity.getStartnode() ) && this.user.getEndnode().equals(entity.getStartnode() ) ) { ////this.rootentity.getEndnode().equals(entity.getStartnode())
root.addNode(new DefaultMindmapNode(entity.getStartnode() , "Malicious Software: ", "33FF00", true));
}
else if ( !label.equals(entity.getStartnode() ) && this.user.getEndnode() != entity.getStartnode() ){
root.addNode(new DefaultMindmapNode(entity.getStartnode() , "Malicious Software: ", "CC0000", true));
}
}
}
public void setElements(List<Enginetable> elements) {
this.elements = elements;
}
public List<Enginetable> getElements() {
return elements;
}
public void setFilteredElements(List<Enginetable> filteredElements) {
//this.filteredElements = filteredElements;
this.elements=filteredElements;
}
public List<Enginetable> getFilteredElements() {
return filteredElements;
}
public void setSelectedElements(Enginetable[] selectedElements) {
this.selectedElements = selectedElements;
}
public Enginetable[] getSelectedElements() {
return selectedElements;
}
public void setSelectedElement(Enginetable selectedElement) {
this.selectedElement = selectedElement;
}
public Enginetable getSelectedElement() {
return selectedElement;
}
public MindmapNode getRoot() {
return root;
}
public MindmapNode getSelectedNode() {
return selectedNode;
}
public void setSelectedNode(MindmapNode selectedNode) {
this.selectedNode = selectedNode;
}
public void onNodeSelect(SelectEvent event) {
MindmapNode node = (MindmapNode) event.getObject();
for( int i = 0 ; i < this.elements.size() ; i++){
Enginetable entity;
Object label = node.getLabel();
Object rootlabel = this.root.getLabel();
entity = userlist.get(i);
if ( entity.getStartnode() == rootlabel ){
this.rootentity = entity;
}
if ( entity.getStartnode() == label ){
this.nodeentity = entity;
}
}
//load children of select node and add via node.addNode(childNode);
//populate if not already loaded
if(node.getChildren().isEmpty()) {
this.setChildNodes( node );
}
}
public void onNodeDblselect(SelectEvent event) {
this.selectedNode = (MindmapNode) event.getObject();
}
private EnginetableFacade getFacade() {
return ejbFacade;
}
private void populateRandomElements(List<Enginetable> list, int size) {
userlist = this.getFullList();
for(int i = 0 ; i < size ; i++) {
Enginetable gel = new Enginetable();
gel.setMoveid(i);
gel.setUserid(i);
gel.setStartnode(username[i]);
gel.setEndnode(username[9-i]);
gel.setConnections(username[9-i]);
// gel.setPurpose("dubious");
// gel.setRelationship("naughty");
// gel.setExperimentid(1);
gel.setNewinfovalue(1);
gel.setNewconnectioncost(1);
list.add(gel);
}
}
//
public Integer getMoveId(Enginetable ent) {
return ent.getMoveid();
}
public void setMoveId(Enginetable ent, Integer id) {
ent.setMoveid(id);
}
public Integer getUserId(Enginetable ent) {
return ent.getMoveid();
}
public void setUserId(Enginetable ent, Integer id) {
ent.setMoveid(id);
}
public String getStartNode(Enginetable ent) {
return ent.getStartnode();
}
public void setStartNode(Enginetable ent, String startnode) {
ent.setStartnode(startnode);
}
public String getEndNode(Enginetable ent) {
return ent.getEndnode();
}
public void setEndNode(Enginetable ent, String endnode) {
ent.setEndnode(endnode);
}
/* public int getExperimentid(Enginetable ent) {
return ent.getExperimentid();
}
public void setExperimentid(Enginetable ent, int experimentid) {
ent.setExperimentid(experimentid);
}*/
public int getNewInfoValue(Enginetable ent) {
return ent.getNewinfovalue();
}
public void setNewInfoValue(Enginetable ent, int totalinfovalue) {
ent.setNewinfovalue(totalinfovalue);
}
public String getConnections(Enginetable ent) {
return ent.getConnections();
}
public void setConnections(Enginetable ent, String connections) {
ent.setConnections(connections);
}
public String getNewConnections(Enginetable ent) {
return ent.getConnections();
}
public void setNewConnections(Enginetable ent, String newconnections) {
ent.setConnections( newconnections );
}
/* public String getUserName(Enginetable ent) {
return ent.getUsername();
}
public void setUsername(Enginetable ent, String name) {
ent.setUsername(name);
}
*/
// ADDED BY AODHÁN
public List<Enginetable> getListByUsername(String user){
return this.ejbFacade.getEnginetableByUsername(user);
}
public List<Enginetable> getListByUserID( int id ){
return this.ejbFacade.getEnginetableByUserid(id);
}
public List<Enginetable> getFullList(){
return this.ejbFacade.getFullEnginetable();
}
public void setChildNodes( MindmapNode node ){
for( int i = 0 ; i < this.userlist.size() ; i++){
Enginetable entity;
entity = this.userlist.get(i);
if ( (this.nodeentity.getStartnode() == null ? entity.getStartnode() != null : !this.nodeentity.getStartnode().equals(entity.getStartnode())) && (this.nodeentity.getEndnode() == null ? entity.getStartnode() != null : !this.nodeentity.getEndnode().equals(entity.getStartnode())) && (this.rootentity.getEndnode() == null ? entity.getStartnode() == null : this.rootentity.getEndnode().equals(entity.getStartnode())) ) {
node.addNode(new DefaultMindmapNode(entity.getStartnode() , "Malicious Software: ", "33FF00"));
}
else if ( (this.nodeentity.getStartnode() == null ? entity.getStartnode() != null : !this.nodeentity.getStartnode().equals(entity.getStartnode())) && (this.nodeentity.getEndnode() == null ? entity.getStartnode() == null : this.nodeentity.getEndnode().equals(entity.getStartnode())) && (this.rootentity.getEndnode() == null ? entity.getStartnode() == null : this.rootentity.getEndnode().equals(entity.getStartnode())) ) {
node.addNode(new DefaultMindmapNode(entity.getStartnode() , "Malicious Software: ", "0066FF"));
}
else if ( (this.nodeentity.getStartnode() == null ? entity.getStartnode() != null : !this.nodeentity.getStartnode().equals(entity.getStartnode())) && (this.nodeentity.getEndnode() == null ? entity.getStartnode() == null : this.nodeentity.getEndnode().equals(entity.getStartnode())) && (this.rootentity.getEndnode() == null ? entity.getStartnode() != null : !this.rootentity.getEndnode().equals(entity.getStartnode())) ) {
node.addNode(new DefaultMindmapNode(entity.getStartnode() , "Malicious Software: ", "FFCC00"));
}
else if ( (this.nodeentity.getStartnode() == null ? entity.getStartnode() != null : !this.nodeentity.getStartnode().equals(entity.getStartnode())) && (this.nodeentity.getEndnode() == null ? entity.getStartnode() != null : !this.nodeentity.getEndnode().equals(entity.getStartnode())) && (this.rootentity.getEndnode() == null ? entity.getStartnode() != null : !this.rootentity.getEndnode().equals(entity.getStartnode())) ) {
node.addNode(new DefaultMindmapNode(entity.getStartnode() , "Malicious Software: ", "CC0000"));
}
}
}
}
HTML:
<h:form>
<p:mindmap value="#{mmBean.root}" style="width:100%;height:600px">
<p:ajax event="select" listener="#{mmBean.onNodeSelect}" />
<p:ajax event="dblselect" listener="#{mmBean.onNodeDblselect}" update="output" oncomplete="details.show()"/>
</p:mindmap>
<p:dialog widgetVar="details" header="Node Details" resizable="false" modal="true" showEffect="fade" hideEffect="fade">
<h:outputText id="output" value="#{mmBean.selectedNode.data}" />
</p:dialog>
</h:form>
非常感谢任何帮助。
最佳答案
我也遇到过同样的问题,并通过简单地添加 @SessionScoped
而不是 @RequestScoped
来消除它。
现在我可以选择并双击,如 PF 示例所示。
关于java - 单击子节点的子节点,线条消失 - Primefaces 3.4 思维导图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13343389/
我正在编写一个具有以下签名的 Java 方法。 void Logger(Method method, Object[] args); 如果一个方法(例如 ABC() )调用此方法 Logger,它应该
我是 Java 新手。 我的问题是我的 Java 程序找不到我试图用作的图像文件一个 JButton。 (目前这段代码什么也没做,因为我只是得到了想要的外观第一的)。这是我的主课 代码: packag
好的,今天我在接受采访,我已经编写 Java 代码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我有几个 friend 一直在努力弄清楚。你在这方面做得怎么样?”。她是想骗我吗?还是我的一生都
我的 friend 给了我一个谜语让我解开。它是这样的: There are 100 people. Each one of them, in his turn, does the following
如果我将使用 Java 5 代码的应用程序编译成字节码,生成的 .class 文件是否能够在 Java 1.4 下运行? 如果后者可以工作并且我正在尝试在我的 Java 1.4 应用程序中使用 Jav
有关于why Java doesn't support unsigned types的问题以及一些关于处理无符号类型的问题。我做了一些搜索,似乎 Scala 也不支持无符号数据类型。限制是Java和S
我只是想知道在一个 java 版本中生成的字节码是否可以在其他 java 版本上运行 最佳答案 通常,字节码无需修改即可在 较新 版本的 Java 上运行。它不会在旧版本上运行,除非您使用特殊参数 (
我有一个关于在命令提示符下执行 java 程序的基本问题。 在某些机器上我们需要指定 -cp 。 (类路径)同时执行java程序 (test为java文件名与.class文件存在于同一目录下) jav
我已经阅读 StackOverflow 有一段时间了,现在我才鼓起勇气提出问题。我今年 20 岁,目前在我的家乡(罗马尼亚克卢日-纳波卡)就读 IT 大学。足以介绍:D。 基本上,我有一家提供簿记应用
我有 public JSONObject parseXML(String xml) { JSONObject jsonObject = XML.toJSONObject(xml); r
我已经在 Java 中实现了带有动态类型的简单解释语言。不幸的是我遇到了以下问题。测试时如下代码: def main() { def ks = Map[[1, 2]].keySet()
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有这个 DownloadFile.java 并按预期下载该文件: import java.io.*; import java.net.URL; public class DownloadFile {
我想在 GUI 上添加延迟。我放置了 2 个 for 循环,然后重新绘制了一个标签,但这 2 个 for 循环一个接一个地执行,并且标签被重新绘制到最后一个。 我能做什么? for(int i=0;
我正在对对象 Student 的列表项进行一些测试,但是我更喜欢在 java 类对象中创建硬编码列表,然后从那里提取数据,而不是连接到数据库并在结果集中选择记录。然而,自从我这样做以来已经很长时间了,
我知道对象创建分为三个部分: 声明 实例化 初始化 classA{} classB extends classA{} classA obj = new classB(1,1); 实例化 它必须使用
我有兴趣使用 GPRS 构建车辆跟踪系统。但是,我有一些问题要问以前做过此操作的人: GPRS 是最好的技术吗?人们意识到任何问题吗? 我计划使用 Java/Java EE - 有更好的技术吗? 如果
我可以通过递归方法反转数组,例如:数组={1,2,3,4,5} 数组结果={5,4,3,2,1}但我的结果是相同的数组,我不知道为什么,请帮助我。 public class Recursion { p
有这样的标准方式吗? 包括 Java源代码-测试代码- Ant 或 Maven联合单元持续集成(可能是巡航控制)ClearCase 版本控制工具部署到应用服务器 最后我希望有一个自动构建和集成环境。
我什至不知道这是否可能,我非常怀疑它是否可能,但如果可以,您能告诉我怎么做吗?我只是想知道如何从打印机打印一些文本。 有什么想法吗? 最佳答案 这里有更简单的事情。 import javax.swin
我是一名优秀的程序员,十分优秀!