📄 nodefilterlens.java
字号:
package net.sourceforge.jpowergraph.lens;
import java.awt.geom.Point2D;
import java.util.ArrayList;
import net.sourceforge.jpowergraph.painters.NodePainter;
import net.sourceforge.jpowergraph.pane.JGraphPane;
public class NodeFilterLens extends AbstractLens {
private ArrayList filterAbleNodes;
private ArrayList filterValues;
private boolean disposed = false;
public NodeFilterLens(ArrayList theFilterAbleNodes) {
this.filterAbleNodes = theFilterAbleNodes;
this.filterValues = new ArrayList();
for (int i = 0; i < filterAbleNodes.size(); i++){
filterValues.add(true);
}
}
public boolean canFilterNode(Class theNodeClass) {
return filterAbleNodes.contains(theNodeClass);
}
public void setFilterValue(Class theNodeClass, boolean theVisible){
int index = filterAbleNodes.indexOf(theNodeClass);
if (index == -1){
return;
}
filterValues.set(index, theVisible);
fireLensUpdated();
}
public boolean getFilterValue(Class theNodeClass){
int index = filterAbleNodes.indexOf(theNodeClass);
if (index == -1){
return true;
}
return (Boolean) filterValues.get(index);
}
public void applyLens(JGraphPane theJGraphPane, Point2D point) {
theJGraphPane.clearNodeFilter();
for (int i = 0; i < filterAbleNodes.size(); i++){
if (!(Boolean) filterValues.get(i)){
theJGraphPane.addFilteredNode((Class) filterAbleNodes.get(i));
}
}
}
public void undoLens(JGraphPane theJGraphPane, Point2D point) {
}
public void dispose(){
disposed = true;
}
public boolean isDisposed(){
return disposed ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -