/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
package eti.bi.alphaminer.ui;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Cursor;
import java.awt.DefaultKeyboardFocusManager;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.KeyEventDispatcher;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.dnd.DnDConstants;
import java.awt.dnd.DropTarget;
import java.awt.dnd.DropTargetDragEvent;
import java.awt.dnd.DropTargetDropEvent;
import java.awt.dnd.DropTargetEvent;
import java.awt.dnd.DropTargetListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Vector;
import javax.swing.AbstractAction;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import com.prudsys.pdm.Core.MiningException;
import eti.bi.alphaminer.tools.Exporter;
import eti.bi.alphaminer.tools.print.Printer;
import eti.bi.alphaminer.ui.dialog.MessageDialog;
import eti.bi.alphaminer.core.Node.NodeLoader;
import eti.bi.alphaminer.core.handler.CaseHandler;
import eti.bi.alphaminer.core.handler.ICaseHandler;
import eti.bi.alphaminer.core.observer.Observer;
import eti.bi.alphaminer.core.observer.HelpObserver;
import eti.bi.alphaminer.core.observer.HelpObserveSubject;
import eti.bi.alphaminer.core.observer.OperatorResultObserver;
import eti.bi.alphaminer.jhelpcomponent.HelpCursor;
import eti.bi.alphaminer.operation.operator.ArrowComponent;
import eti.bi.alphaminer.operation.operator.NodeInfo;
import eti.bi.alphaminer.operation.operator.Operator;
import eti.bi.alphaminer.operation.operator.OperatorFactory;
import eti.bi.alphaminer.operation.property.OperatorProperty;
import eti.bi.alphaminer.operation.property.OperatorPropertyFactory;
import eti.bi.alphaminer.operation.result.OperatorResult;
import eti.bi.alphaminer.operation.result.OperatorResultFactory;
import eti.bi.alphaminer.vo.BICase;
import eti.bi.alphaminer.vo.Node;
import eti.bi.alphaminer.vo.NodeConnection;
import eti.bi.alphaminer.vo.NodeFactory;
import eti.bi.alphaminer.vo.OperatorNode;
import eti.bi.alphaminer.vo.TaskNode;
import eti.bi.exception.AppException;
import eti.bi.exception.BaseException;
import eti.bi.exception.SysException;
import eti.bi.util.ResourceLoader;
import eti.bi.common.ImageLocation;
import eti.bi.common.Locale.Resource;
import eti.bi.common.System.SysLog;
/**
* CaseDiagramPanel is a Panel that shows the process visualization of a Case.
* User can modify the process visualization (diagram) by adding or removing
* operator nodes. In addtion user can modify Case basic information and detail
* information possessed by each node.
*/
public class CaseDiagramPanel
extends JPanel
implements
DropTargetListener,
MouseListener,
MouseMotionListener,
KeyEventDispatcher,
ActionListener,
Observer,
HelpObserver,
ICaseDiagram{
/**
*
*/
private static final long serialVersionUID = 1L;
// <<20/07/2005: Kenneth Lai: case panel margin
private final static int SCROLLPANE_X_MARGIN = 45;
private final static int SCROLLPANE_Y_MARGIN = 65;
// 20/07/2005: Kenneth Lai: case panel margin>>
private JScrollPane m_ScrollPaneDiagram;
private JPanel m_PanelDiagramDrawing;
private DropTarget m_DropTarget;
// private JButton m_CaseInformationButton;
private JButton m_CaseInformationButton;//<<25/07/2005: Kenneth Lai: Add for JHelp>>
private CaseInformationLayer m_CaseInformationLayer;
private Point m_Start;
private boolean m_IsDragging;
private ArrowComponent tempArrow;
private JButton transparent;
// <<16/06/2005: Mark Li: MultiSelect the components in case diagram
//private JComponent m_ActiveComponent;
private JComponent m_ActiveComponent[];
private Rectangle m_recActiveComponent;
private Vector<ArrowComponent> m_ArrowInActiveComponents = new Vector<ArrowComponent>();
private boolean isFirstMutiSelect = false;
// 16/06/2005: Mark Li: MultiSelect the components in case diagram>>
private String m_CaseID;
private boolean m_HelpState = false;
private JInternalFrame m_Form;
private CaseDiagramPanel m_CurrentPanel = this;
private CaseWindow m_Parent;
private int m_DMEngineType; //<<Frank Xu, 09/12/2004 flag to differentiate the type of data mining engines., Frank Xu, 09/12/2004>>.
private static Hashtable<String, CaseDiagramPanel> m_CaseDiagrams = new Hashtable<String, CaseDiagramPanel>();
private IMessageDialog m_MessageDialog;
private ISystemMessageHandler m_SystemMessageHandler;
private ICaseHandler m_CaseHandler;
private JMenuItem printItem;
private JMenuItem exportWorkflowDiagramItem;
private LinkedList<String> deletedNode = new LinkedList<String>();
private LinkedList<ArrowNodes> deletedArrow = new LinkedList<ArrowNodes>();
/**
* Constructs a CaseDiagramPanel.
*/
private CaseDiagramPanel(CaseWindow a_CaseWindow, String a_CaseID) throws SysException{
m_Parent = a_CaseWindow;
m_CaseHandler = CaseHandler.getInstance();
m_MessageDialog = m_CaseHandler.getMessageDialog();
createCaseDiagramPanel();
m_DropTarget = new DropTarget(m_PanelDiagramDrawing, this);
m_PanelDiagramDrawing.addMouseListener(this);
m_PanelDiagramDrawing.addMouseMotionListener(this);
DefaultKeyboardFocusManager
.getCurrentKeyboardFocusManager()
.addKeyEventDispatcher(this);
m_Start = new Point(0, 0);
m_IsDragging = false;
setCaseID(a_CaseID);
m_SystemMessageHandler = m_CaseHandler.getSystemMessageHandler(m_CaseID);
// String str;
// String aa=new String(str.getBytes("")),"GBK");
}
@SuppressWarnings("unchecked")
public static CaseDiagramPanel createInstance(CaseWindow a_CaseWindow, String a_CaseID) throws SysException
{
CaseDiagramPanel newCaseDiagramPanel = new CaseDiagramPanel(a_CaseWindow, a_CaseID);
m_CaseDiagrams.put(a_CaseID, newCaseDiagramPanel);
return newCaseDiagramPanel;
}
public static CaseDiagramPanel getCaseDiagramPanel(String a_CaseID)
{
return m_CaseDiagrams.get(a_CaseID);
}
/** update the case id of the case diagram
*
* @param a_OldCaseID Old case id
* @param a_NewCaseID New case id
* @return
* @throws SysException
*/
@SuppressWarnings("unchecked")
private sta
没有合适的资源?快使用搜索试试~ 我知道了~
alphaMiner2.0
共2000个文件
class:3379个
java:1989个
gif:96个
4星 · 超过85%的资源 需积分: 50 69 下载量 25 浏览量
2009-08-02
21:24:07
上传
评论 2
收藏 12.78MB ZIP 举报
温馨提示
一个简单方便使用的数据挖掘研究工具,包含源代码,java开发,欢迎下载讨论!!
资源推荐
资源详情
资源评论
收起资源包目录
alphaMiner2.0 (2000个子文件)
package.html 3KB
package.html 1KB
package.html 1KB
package.html 1KB
package.html 968B
package.html 964B
package.html 894B
package.html 845B
package.html 814B
package.html 781B
package.html 777B
package.html 763B
package.html 763B
package.html 756B
package.html 752B
package.html 744B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 724B
package.html 717B
package.html 712B
package.html 712B
package.html 709B
package.html 696B
package.html 692B
package.html 691B
package.html 689B
package.html 676B
package.html 676B
package.html 676B
package.html 666B
package.html 656B
package.html 651B
package.html 650B
package.html 640B
package.html 614B
package.html 604B
package.html 601B
package.html 598B
package.html 573B
package.html 546B
package.html 541B
package.html 520B
package.html 519B
package.html 518B
package.html 493B
package.html 488B
package.html 487B
package.html 460B
CaseDiagramPanel.java 120KB
Evaluation.java 89KB
MultilayerPerceptron.java 76KB
ClassifierPanel.java 72KB
VisualizePanel.java 72KB
Instances.java 70KB
HierarchicalBCEngine.java 68KB
TreeVisualizer.java 65KB
SMO.java 62KB
CwmExample.java 61KB
DerivedField.java 60KB
SMOreg.java 59KB
JRip.java 59KB
MainMenuBarHandler.java 59KB
PMML.java 54KB
AssociationRulesMiningModel.java 54KB
Tertius.java 52KB
ClustererPanel.java 52KB
RaceSearch.java 51KB
REPTree.java 51KB
StringToWordVector.java 51KB
SequenceModel.java 50KB
LogFileQSort.java 50KB
ADTree.java 49KB
Ridor.java 49KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
yadedoo
- 粉丝: 1
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页