Ahora todos los fields de las vistas vistas se mueven de la misma manera
This commit is contained in:
20
src/danielcortes/xyz/controllers/BaseController.java
Normal file
20
src/danielcortes/xyz/controllers/BaseController.java
Normal 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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user