⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jdfframe.java

📁 java xml 应用开发
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
import java.awt.Color;
import java.awt.Component;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.ClipboardOwner;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.dnd.DnDConstants;
import java.awt.dnd.DragGestureEvent;
import java.awt.dnd.DragGestureListener;
import java.awt.dnd.DragSource;
import java.awt.dnd.DragSourceDragEvent;
import java.awt.dnd.DragSourceDropEvent;
import java.awt.dnd.DragSourceEvent;
import java.awt.dnd.DragSourceListener;
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.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.Stack;
import java.util.Vector;

import javax.swing.AbstractAction;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.DefaultListModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButton;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.JTree;
import javax.swing.JViewport;
import javax.swing.KeyStroke;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.ToolTipManager;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.event.UndoableEditEvent;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
import javax.swing.undo.CannotUndoException;
import javax.swing.undo.UndoManager;
import javax.swing.undo.UndoableEditSupport;

import org.cip4.jdflib.core.AttributeName;
import org.cip4.jdflib.core.ElementName;
import org.cip4.jdflib.core.JDFComment;
import org.cip4.jdflib.core.JDFConstants;
import org.cip4.jdflib.core.JDFDoc;
import org.cip4.jdflib.core.JDFElement;
import org.cip4.jdflib.core.JDFException;
import org.cip4.jdflib.core.JDFParser;
import org.cip4.jdflib.core.JDFRefElement;
import org.cip4.jdflib.core.JDFResourceLink;
import org.cip4.jdflib.core.KElement;
import org.cip4.jdflib.core.VElement;
import org.cip4.jdflib.core.VString;
import org.cip4.jdflib.core.XMLDoc;
import org.cip4.jdflib.core.KElement.EnumValidationLevel;
import org.cip4.jdflib.datatypes.JDFAttributeMap;
import org.cip4.jdflib.jmf.JDFJMF;
import org.cip4.jdflib.node.JDFNode;
import org.cip4.jdflib.node.JDFNode.EnumActivation;
import org.cip4.jdflib.pool.JDFAuditPool;
import org.cip4.jdflib.pool.JDFResourceLinkPool;
import org.cip4.jdflib.pool.JDFResourcePool;
import org.cip4.jdflib.resource.JDFModified;
import org.cip4.jdflib.resource.JDFResource;
import org.cip4.jdflib.resource.JDFResource.EnumPartIDKey;
import org.cip4.jdflib.resource.devicecapability.JDFDevCap;
import org.cip4.jdflib.resource.devicecapability.JDFDevCaps;
import org.cip4.jdflib.resource.devicecapability.JDFStateBase;
import org.cip4.jdflib.util.JDFDate;
import org.cip4.jdflib.util.StringUtil;
import org.cip4.jdflib.util.XMLstrm;
import org.w3c.dom.Attr;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

/**
 * @author AnderssA ThunellE SvenoniusI Elena Skobchenko
 */

public class JDFFrame extends JFrame implements ActionListener,
DropTargetListener,
DragSourceListener,
DragGestureListener,
ClipboardOwner
{
	/**
	 * Comment for <code>serialVersionU
	 * ID</code>
	 */
	private static final long serialVersionUID = 626128726824503039L;
	
	private JMenu m_recentFilesMenu;
	private JMenu m_insertElementMenu;
	private JMenu m_resourceMenu;
	private JMenu m_resourceLinkMenu;
	
	JMenu m_fileMenu;
	JMenu m_insertMenu;
	JMenu m_toolsMenu;
	JMenu m_editMenu;
	JMenu m_validateMenu;
	JMenu m_helpMenu;
	
	private JMenuItem m_newItem;
	private JMenuItem m_saveItem;
	private JMenuItem m_saveAsItem;
	private JMenuItem m_openItem;
	private JMenuItem m_quitItem;
	private JMenuItem m_exportItem;
	private JMenuItem m_copyItem;
	private JMenuItem m_copyPopupItem;
	private JMenuItem m_cutItem;
	private JMenuItem m_undoItem;
	private JMenuItem m_redoItem;
	private JMenuItem m_cutPopupItem;
	private JMenuItem m_pasteItem;
	private JMenuItem m_pastePopupItem;
	private JMenuItem m_deleteItem;
	private JMenuItem m_deletePopupItem;
	private JMenuItem m_helpItem;
	private JMenuItem m_closeItem;
	private JMenuItem m_validateItem;
	private JMenuItem m_fixVersionItem;
	private JMenuItem m_copyValidationListItem;
	private JMenuItem m_findItem;
	private JMenuItem m_findXPathItem;
	private JMenuItem m_aboutItem;
	private JMenuItem m_versionItem;
	private JMenuItem m_insertAttrItem;
	private JMenuItem m_insertAttrPopupItem;
//	private JMenuItem m_insertResLinkItem;
	private JMenuItem m_insertInResLinkItem;
	private JMenuItem m_insertOutResLinkItem;
//	private JMenuItem m_insertResLinkPopupItem;
	private JMenuItem m_insertInResLinkPopupItem;
	private JMenuItem m_insertOutResLinkPopupItem;
	private JMenuItem m_insertElemBeforeItem;
	private JMenuItem m_insertElemBeforePopupItem;
	private JMenuItem m_insertElemAfterItem;
	private JMenuItem m_insertElemAfterPopupItem;
	private JMenuItem m_insertElemIntoItem;
	private JMenuItem m_insertElemIntoPopupItem;
	private JMenuItem m_insertInResItem;
	private JMenuItem m_insertInResPopupItem;
	private JMenuItem m_insertOutResItem;
	private JMenuItem m_insertOutResPopupItem;
	private JMenuItem m_insertResItem;
	private JMenuItem m_insertResPopupItem;
	private JMenuItem m_renameItem;
	private JMenuItem m_renamePopupItem;
	private JMenuItem m_modifyAttrValueItem;
	private JMenuItem m_modifyAttrValuePopupItem;
	private JMenuItem m_requiredAttrItem;
	private JMenuItem m_requiredAttrPopupItem;
	private JMenuItem m_requiredElemItem;
	private JMenuItem m_requiredElemPopupItem;
	private JMenuItem m_xpandPopupItem;
	private JMenuItem m_collapsePopupItem;
	private JMenuItem m_copyToClipBoardPopupItem;
	
	private JMenuItem m_preferenceItem;
	
	JMenuItem m_sendToDeviceItem;
	JMenuItem m_spawnItem;
	JMenuItem m_spawnInformItem;
	JMenuItem m_mergeItem;
	JMenuItem m_devCapItem;
	
	private JRadioButtonMenuItem m_highlightFNRadioItem;
	private JRadioButtonMenuItem m_showAttrRadioItem;
	private JRadioButtonMenuItem m_showInhAttrRadioItem;
	
	private JButton m_cancelButton;
	
	JButton m_newButton;
	JButton m_openButton;
	JButton m_saveButton;
	JButton m_undoButton;
	JButton m_redoButton;
	JButton m_cutButton;
	JButton m_copyButton;
	JButton m_pasteButton;
	JButton m_validateButton;
	JButton m_upOneLevelButton;
	JButton m_printButton;
	JButton m_zoomInButton;
	JButton m_zoomOutButton;
	JButton m_zoomOrigButton;
	JButton m_zoomBestButton;
	JButton m_findNextButton;
	JButton m_refreshButton;
	
	private boolean m_fileExists = true;
	private boolean m_isJDF = true;
	private boolean m_isPastedBefore = true;
//	private boolean m_callNotFromAddReqAttribute = true;
	private boolean m_callFromValidateNewNode = false;
	private boolean m_callFromInOutputView = false;
	private boolean m_isSearching = false;
	private boolean m_currentAutoVal;
	
	boolean m_callIsFromList = false;
	boolean m_callNotFromProcessView = true;
	boolean m_callFromSearch = false;
	boolean m_currentReadOnly;
	
	private Vector m_vErrors = new Vector();
	private Vector m_vNodes = new Vector();
	private Vector m_vXPath = new Vector();
	private Vector m_vGlobalSearch = new Vector();
	private Vector m_vInvalidResLinks;
	private Vector m_vInvalidResLinksString;
	private Vector m_vStrangeElements;
	private Vector m_vStrangeElementsString;
	
	Vector m_vPaintedRes = new Vector();
	Vector m_vIn         = new Vector();
	
	JList m_myList = new JList();
	JList m_devCapList = new JList();
	private JTextArea m_commentArea;
	private JTextArea m_processArea;
	private JTextArea m_devCapArea;
	private JTextArea m_treeArea; 
	
	private JMenuItem[] m_subMenuItem = new JMenuItem[5];
	private JRadioButton m_forwardRadioButton;
	private JRadioButton m_backwardRadioButton;
	private JPanel m_inOutArea;
	private JPanel m_inOutAreaLeft;
	private JPanel m_inOutAreaMiddle;
	private JPanel m_inOutAreaRight;
	JToolBar m_buttonBar;
	JTabbedPane m_rightTabbedPane;
	JTabbedPane m_errorTabbedPane;
	private JScrollPane m_treeScroll;
	private JScrollPane m_commentScrollPane;
	private JScrollPane m_inOutScrollPane;
	private JScrollPane m_processScrollPane;
	private JScrollPane m_devCapScrollPane;
	private JScrollPane m_devCapErrScroll;
	JScrollPane m_validErrScroll;
	private JViewport m_treeView;
	JTextField m_searchTextField;
	ProcessPanel m_pArea = new ProcessPanel();
	private JTree m_searchTree;
	JTree m_jdfTree;
	private JDFTreeNode m_root;
	private JDFTreeNode m_copyNode;
	private JDFTreeNode m_searchInOutNode; 
	private InvalidNode m_invalidNode;
	private JDFTreeRenderer m_renderer;
	TreeSelectionListener m_treeSelectionListener;
	private ListSelectionListener m_listListener;
	private ResourceBundle m_littleBundle;
	private SearchDialog m_dialog = null;
	private HelpFrame m_helpFrame = null;
	private INIReader m_iniFile;
	private PreferenceDialog m_pd = null;
	private DefaultTreeModel m_model;
	DefaultListModel m_listModel = new DefaultListModel();
	private JDFDoc m_jdfDocument;
	File m_fileToSave = null;
	private int m_inTreePos = 0;
	private int m_outTreePos = 0;
	private String m_currentLanguage;
	private String m_docNS = "";
	String m_currentLookAndFeel;
	String m_currentMethodSendToDevice;
	private String[] m_recentFiles = new String[5];
	private String[] m_iconStrings = new String[24];
	static protected Cursor m_readyCursor = Cursor.getDefaultCursor();
	static protected Cursor m_waitCursor  = Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR);
	private DragSource m_source;
	
	final private int m_IO_INDEX = 0;
	final private int m_PROC_INDEX = 1;
	final private int m_COM_INDEX = 3;
	final private int m_DC_INDEX = 2;
	
	final private int m_VAL_ERRORS_INDEX = 0;
	final private int m_DC_ERRORS_INDEX = 1;
	
	private boolean m_bValidationCompleted = false;
	final private JMenuBar m_menuBar = new JMenuBar();
	
	JTree m_reportTree;
	DefaultMutableTreeNode m_execRoot = null;
	
	DefaultMutableTreeNode m_reportRoot; 
	DevCapTreeSelectionListener m_devCapTreeSelectionListener;
	
	final MyUndoManager undomanager = new MyUndoManager();
	final UndoableEditSupport undoSupport = new UndoableEditSupport();
	UndoAction undoAction = new UndoAction();
	RedoAction redoAction = new RedoAction();
	
	public JDFFrame() 
	{
		super("CIP4 JDF Editor");
		
		m_source = DragSource.getDefaultDragSource();
		m_source.createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_COPY_OR_MOVE, this);
		final Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		setBounds(0, 0, d.width, d.height - 30);
		this.setCursor(m_readyCursor);
		
		m_iniFile = new INIReader();
		
		m_iconStrings = m_iniFile.getIconStrings();
		m_currentAutoVal = m_iniFile.autoVal();
		m_currentReadOnly = m_iniFile.readOnly();
		m_currentLanguage = m_iniFile.getLanguage();
		m_currentLookAndFeel = m_iniFile.getLookAndFeel();
		m_currentMethodSendToDevice = m_iniFile.getMethodSendToDevice();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -