[英]How to realize revoke by pressing Ctrl+z in java
I try to programming a TextEditor. 我尝试编写TextEditor。 Now I can realize it by adding a button.
现在我可以通过添加一个按钮来实现它。 And I want to realize revoke by pressing
Ctrl+Z
. 我想通过按
Ctrl+Z
来实现撤销。 How to deal with it ? 怎么处理呢? Please give me some suggestions.
请给我一些建议。
now i can realize it by 现在我可以实现它
jta.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
if((e.getKeyChar() == 0x1a)) {
if(doManager.canUndo()) {
doManager.undo();
}
System.out.println(1);
}
}
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
}
});
Why this can't? 为什么这不行?
jta.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
if((e.getKeyCode() == KeyEvent.VK_Z) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) {
if(doManager.canUndo()) {
doManager.undo();
}
System.out.println(1);
}
}
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
}
});
Why this can't? 为什么这不行?
jta.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
if((e.getKeyCode() == KeyEvent.VK_Z) && (e.isControlDown() == true)) {
if(doManager.canUndo()) {
doManager.undo();
}
System.out.println(1);
}
}
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
}
});
@Felix Gerber @Felix Gerber
The way to go would be to add an KeyListener to your user interface. 要做的就是将KeyListener添加到用户界面。
Oracle has an little tutorial about writing an own here . Oracle有一个关于在这里编写自己的小教程。
Here is an little example checking if CRTL+Z
is pressed apllied to a JFrame
: 这是一个小例子,检查
CRTL+Z
是否被压缩到JFrame
:
JFrame frame = new JFrame();
frame.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
if ((e.getKeyCode() == KeyEvent.VK_Z) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0))
{
System.out.println("Your code here!");
}
}
});
frame.setLocationRelativeTo(null);
frame.setSize(200, 200);
frame.setVisible(true);
Thanks everybody! 谢谢大家!
now i can realize it by 现在我可以实现它
jta.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
if((e.getKeyChar() == 0x1a)) {
if(doManager.canUndo()) {
doManager.undo();
}
}
}
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
}
});
and 和
jta.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if((e.getKeyCode() == KeyEvent.VK_Z) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) {
if(doManager.canUndo()) {
doManager.undo();
}
}
}
});
and 和
jta.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if((e.getKeyCode() == KeyEvent.VK_Z) && (e.isControlDown() == true)) {
if(doManager.canUndo()) {
doManager.undo();
}
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.