AWT question
вот есть допустим такая задачка - сделать так, чтобы в TextArea по enter срабатывал экшин, а по
Ctrl+Enter вставлялся бряк
я решил сию проблему методом "в лоб"
потому что при нажатии enter обработчик насчет e.modifiers = 0 не канал (модель событий 1.1)
можно сделать покрасивее?
Ctrl+Enter вставлялся бряк
я решил сию проблему методом "в лоб"
потому что при нажатии enter обработчик насчет e.modifiers = 0 не канал (модель событий 1.1)
можно сделать покрасивее?
import java.awt.*;
import java.awt.event.KeyEvent;
public class KeyTextArea extends TextArea {
protected boolean isControlPressed = false;
public KeyTextArea(MessengerWindow parent, String s, int i1, int i2, int i3) {
super(s, i1, i2, i3);
this.parent = parent;
}
public boolean handleEvent(Event e) {
if ((e.modifiers & (Event.CTRL_MASK | Event.SHIFT_MASK)) > 0) {
isControlPressed = true;
} else {
isControlPressed = false;
}
if (e.id == Event.KEY_PRESS && e.key == KeyEvent.VK_ENTER) {
if (!isControlPressed) {
e.id = Event.ACTION_EVENT;
e.arg="Send";
e.key=0;
isControlPressed = false;
} else {
append("\n");
}
}
return super.handleEvent(e);
}
}
