PDA

View Full Version : undo & redo



tani2013
چهارشنبه 02 مرداد 1392, 12:32 عصر
menuEdit.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/Edit.gif"))); // NOI18N
menuEdit.setText("Edit");
itemUndo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/Undo.gif"))); // NOI18N
itemUndo.setText("Undo");
itemUndo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
itemUndoActionPerformed(evt);

}
});
menuEdit.add(itemUndo);
itemRedo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/Redo.gif"))); // NOI18N
itemRedo.setText("Redo");
itemRedo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
itemRedoActionPerformed(evt);
}
});
menuEdit.add(itemRedo);
سلام دوستان گرامی
من می خوام در قسمتی از برنامم در منوی Edit از undo و redo استفاده کنم...
این کد رو نوشتم اما کار نمی کند
اشکالش چیه و کدوم قسمت رو باید تغییر بدم؟!!

tani2013
جمعه 04 مرداد 1392, 15:25 عصر
دوستان صرف نظر از کد من
کسی اطلاعاتی درمورد undoaction و redoaction نداره؟!!!

spiderman200700
جمعه 04 مرداد 1392, 23:05 عصر
این یه مثاله. خدمت شما:
final UndoManager undoManager = new UndoManager();
jTextField1.getDocument().addUndoableEditListener( undoManager);
jTextField1.addKeyListener(new KeyAdapter() {

@Override
public void keyPressed(KeyEvent e) {
try {
if (e.isControlDown() && (char) e.getExtendedKeyCode() == 'z' || (char) e.getExtendedKeyCode() == 'Z') {
undoManager.undo();
}
if (e.isControlDown() && (char) e.getExtendedKeyCode() == 'y' || (char) e.getExtendedKeyCode() == 'Y') {
undoManager.redo();
}
} catch (CannotUndoException undoEx) {
undoEx.printStackTrace();
} catch (CannotRedoException redoEx) {
redoEx.printStackTrace();
}
}
});