Ahora todos los fields de las vistas vistas se mueven de la misma manera

This commit is contained in:
Daniel Cortes
2019-02-16 14:49:40 -03:00
parent c2ff258cef
commit e65ac2bc10
7 changed files with 53 additions and 95 deletions

View File

@@ -0,0 +1,20 @@
package danielcortes.xyz.controllers;
import danielcortes.xyz.controllers.actions.BasicAction;
import javax.swing.*;
class BaseController {
static void moveTo(JComponent origin, JComponent destiny) {
KeyStroke next = KeyStroke.getKeyStroke("ENTER");
KeyStroke back = KeyStroke.getKeyStroke("ESCAPE");
origin.getInputMap(JComponent.WHEN_FOCUSED).put(next, "nextField");
destiny.getInputMap(JComponent.WHEN_FOCUSED).put(back, "previousField");
origin.getActionMap().put("nextField", (BasicAction) e -> destiny.requestFocus());
destiny.getActionMap().put("previousField", (BasicAction) e -> origin.requestFocus());
}
static void doAction(JComponent target, String name, KeyStroke keyStroke, BasicAction action){
target.getInputMap(JComponent.WHEN_FOCUSED).put(keyStroke, name);
target.getActionMap().put(name, action);
}
}