类javax.swing.undo.UndoableEditSupport源码实例Demo

下面列出了怎么用javax.swing.undo.UndoableEditSupport的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: netbeans   文件: XDMModel.java
/**
 * @param ms requires an instance of org.netbeans.editor.BaseDocument to be
 * available in the lookup;
 */
public XDMModel(ModelSource ms) {
    source = ms;
    // assert getSwingDocument() != null; // It can be null, for example if the file is deleted. 
    ues = new UndoableEditSupport(this);
    pcs = new PropertyChangeSupport(this);
    parser = new XMLSyntaxParser();
    setStatus(Status.UNPARSED);
    
    //establish a default element identification mechanism
    //domain models should override this by invoking "setElementIdentity"
    ElementIdentity eID = createElementIdentity();
    setElementIdentity(eID);
}
 
源代码2 项目: ganttproject   文件: UndoManagerImpl.java
public UndoManagerImpl(IGanttProject project, ParserFactory parserFactory, DocumentManager documentManager) {
  myProject = project;
  myParserFactory = parserFactory;
  myDocumentManager = documentManager;
  mySwingUndoManager = new UndoManager();
  myUndoEventDispatcher = new UndoableEditSupport();
  GanttLanguage.getInstance().addListener(new GanttLanguage.Listener() {
    public void languageChanged(Event event) {
      UIManager.getDefaults().put("AbstractUndoableEdit.undoText", GanttLanguage.getInstance().getText("undo"));
      UIManager.getDefaults().put("AbstractUndoableEdit.redoText", GanttLanguage.getInstance().getText("redo"));
    }
  });
}
 
源代码3 项目: osp   文件: JarTreeDialog.java
/**
 * Constructor.
 *
 * @param owner the owner frame
 * @param root the root directory
 */
public JarTreeDialog(Frame owner, File root) {
  super(owner, true);
  rootFile = root;
  createGUI();
  // set up the undo system
  undoManager = new UndoManager();
  undoSupport = new UndoableEditSupport();
  undoSupport.addUndoableEditListener(undoManager);
  CheckTreeSelectionModel checkModel = checkManager.getSelectionModel();
  checkModel.addPropertyChangeListener(new PropertyChangeListener() {
    public void propertyChange(PropertyChangeEvent e) {
      if(ignoreEvents) {
        return;
      }
      TreePath[] prev = (TreePath[]) e.getOldValue();
      TreePath[] curr = (TreePath[]) e.getNewValue();
      TreePath path = jarTree.getSelectionPath();
      int row = jarTree.getRowForPath(path);
      SelectionEdit edit = new SelectionEdit(prev, prevRow, curr, row);
      undoSupport.postEdit(edit);
      prevRow = row;
      refresh();
    }

  });
  refresh();
  // center on screen
  Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
  int x = (dim.width-getBounds().width)/2;
  int y = (dim.height-getBounds().height)/2;
  setLocation(x, y);
}
 
源代码4 项目: tracker   文件: PencilControl.java
/**
  * Constructs a PencilControl for a specified PencilDrawer.
  * 
  * @param pencilDrawer the PencilDrawer
  */
protected PencilControl(PencilDrawer pencilDrawer) {
	super(JOptionPane.getFrameForComponent(pencilDrawer.trackerPanel), false);
	drawer = pencilDrawer;
	trackerPanel = drawer.trackerPanel;
	// set up the undo system
   undoManager = new UndoManager();
   undoSupport = new UndoableEditSupport();
   undoSupport.addUndoableEditListener(undoManager);
	createGUI();  		 		
	refreshGUI();
	pack();
	// center on screen
   Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
   int x = (dim.width - getBounds().width) / 2;
   int y = (dim.height - getBounds().height) / 2;
   setLocation(x, y);
   // create PropertyChangeListeners
	stepListener = new PropertyChangeListener() {
		@Override
		public void propertyChange(PropertyChangeEvent e) {
			// if selected scene is visible at current frame, do nothing
			if (selectedScene!=null && selectedScene.includesFrame(trackerPanel.getFrameNumber())) return;
			if (isVisible()) {
				setSelectedScene(drawer.getSceneAtFrame(trackerPanel.getFrameNumber()));
				refreshGUI();
			}
		}			
	};
	trackerPanel.addPropertyChangeListener("stepnumber", stepListener); //$NON-NLS-1$
	tabListener = new PropertyChangeListener() {
		@Override
		public void propertyChange(PropertyChangeEvent e) {
      if (e.getNewValue() == trackerPanel) {
        setVisible(isVisible);
      }
      else {
        boolean vis = isVisible;
        setVisible(false);
        isVisible = vis;
      }
		}			
	};
   TFrame frame = trackerPanel.getTFrame();
   if (frame != null) {
     frame.addPropertyChangeListener("tab", tabListener); //$NON-NLS-1$
   }
	clipListener = new PropertyChangeListener() {
		@Override
		public void propertyChange(PropertyChangeEvent e) {
			// stepcount has changed
			refreshGUI();
		}			
	};
	trackerPanel.addPropertyChangeListener("stepcount", clipListener); //$NON-NLS-1$
}
 
源代码5 项目: osp   文件: Launcher.java
/**
 * Sets the look and feel.
 *
 * @param lf OSPRuntime name of look and feel
 * @param always true to set LnF even if already set
 * @return a new Launcher
 */
protected Launcher setLookAndFeel(final String lf, final boolean always) {
  if(lf==null) {
    return null;
  }
  lookAndFeel = lf;
  boolean newDecorations = true;
  boolean currentDecorations = JFrame.isDefaultLookAndFeelDecorated();
  if(lf.equals(OSPRuntime.SYSTEM_LF)) {
    systemLFItem.setSelected(true);
  } else if(lf.equals(OSPRuntime.CROSS_PLATFORM_LF)) {
    javaLFItem.setSelected(true);
  } else if(lf.equals(OSPRuntime.DEFAULT_LF)) {
    newDecorations = OSPRuntime.DEFAULT_LOOK_AND_FEEL_DECORATIONS;
    defaultLFItem.setSelected(true);
  } else if(genericLFGroup.getSelection()!=null) {
    genericLFGroup.remove(systemLFItem);
    genericLFGroup.remove(javaLFItem);
    genericLFGroup.remove(defaultLFItem);
    systemLFItem.setSelected(false);
    javaLFItem.setSelected(false);
    defaultLFItem.setSelected(false);
    genericLFGroup.add(systemLFItem);
    genericLFGroup.add(javaLFItem);
    genericLFGroup.add(defaultLFItem);
  }
  Object lfType = OSPRuntime.LOOK_AND_FEEL_TYPES.get(lf);
  LookAndFeel currentLF = UIManager.getLookAndFeel();
  if(!always&&(newDecorations==currentDecorations)&&currentLF.getClass().getName().equals(lfType)) {
    return null;
  }
  if(!isVisible()) {
    frame.addWindowListener(new WindowAdapter() {
      public void windowOpened(WindowEvent e) {
        setLookAndFeel(lf, always);
        frame.removeWindowListener(this);
      }

    });
    return null;
  }
  OSPRuntime.setLookAndFeel(newDecorations, lf);
  if(spawner!=null) {
    spawner = spawner.setLookAndFeel(lf, true);
  }
  exitCurrentApps();
  LauncherUndo undoManager = Launcher.this.undoManager;
  UndoableEditSupport undoSupport = Launcher.this.undoSupport;
  LaunchNode node = Launcher.this.getSelectedNode();
  Point loc = Launcher.this.frame.getLocation();
  Launcher.this.frame.dispose();
  Launcher launcher;
  LaunchSet tabset = new LaunchSet(Launcher.this, tabSetName);
  XMLControlElement control = new XMLControlElement(tabset);
  // set null password so LaunchBuilder opens without verification
  control.setPassword(null);
  if(Launcher.this instanceof LaunchBuilder) {
    launcher = new LaunchBuilder(control.toXML());
  } else {
    launcher = new Launcher(control.toXML());
  }
  launcher.setSelectedNode(node.getPathString());
  undoManager.setLauncher(launcher);
  launcher.undoManager = undoManager;
  launcher.undoSupport = undoSupport;
  launcher.tabSetName = tabSetName;
  launcher.password = password;
  launcher.spawner = spawner;
  launcher.jarBasePath = jarBasePath;
  launcher.frame.setDefaultCloseOperation(Launcher.this.frame.getDefaultCloseOperation());
  launcher.refreshGUI();
  launcher.frame.setLocation(loc);
  launcher.setVisible(true);
  launcher.frame.pack();
  SwingUtilities.updateComponentTreeUI(OSPLog.getOSPLog());
  return launcher;
}
 
 类所在包
 类方法
 同包方法