Mas documentacion y cambiados la mayoria de los action listeners por keybindings

This commit is contained in:
Daniel Cortes
2019-01-03 00:25:54 -03:00
parent 070a12b54e
commit c5da56117c
9 changed files with 588 additions and 356 deletions

View File

@@ -34,10 +34,7 @@ import danielcortes.xyz.views.components.IngresosTableModel;
import org.jetbrains.annotations.Contract;
import javax.swing.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.*;
/**
* Controlador el cual esta orientado a manejar la vista de IngresosView
@@ -123,23 +120,21 @@ public class IngresosController {
* - Cuando se presiona el boton de editar o se hace doble click sobre una fila de la tabla se llama a editarActionListener
*/
private void setupViewEvents() {
this.view.getValorField().getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("ENTER"), "nextField");
this.view.getNroInicialField().getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("ENTER"), "nextField");
this.view.getNroFinalField().getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("ENTER"), "nextField");
this.view.getTipoCombo().getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("ENTER"), "save");
this.view.getValorField().getActionMap().put("nextField", new NextAction(this.view.getNroInicialField()));
this.view.getNroInicialField().getActionMap().put("nextField", new NextAction(this.view.getNroFinalField()));
this.view.getNroFinalField().getActionMap().put("nextField", new NextAction(this.view.getTipoCombo()));
this.view.getTipoCombo().getActionMap().put("save", new GuardarAction(this));
this.view.getIngresosTable().getSelectionModel().addListSelectionListener(e -> updateButtonsEnabled());
this.view.getGuardarButton().addActionListener(e -> guardarActionListener());
this.view.getValorField().addActionListener(e -> guardarActionListener());
this.view.getNroInicialField().addActionListener(e -> guardarActionListener());
this.view.getNroFinalField().addActionListener(e -> guardarActionListener());
this.view.getEliminarButton().addActionListener(e -> eliminarActionListener());
this.view.getEditarButton().addActionListener(e -> editarActionListener());
this.view.getTipoCombo().addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_ENTER){
guardarActionListener();
}
}
});
this.view.getIngresosTable().addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent mouseEvent) {
JTable table = (JTable) mouseEvent.getSource();
@@ -431,6 +426,31 @@ public class IngresosController {
* Le pide focus al tipo combo
*/
private void resetFocus(){
this.view.getTipoCombo().requestFocus();
this.view.getValorField().requestFocus();
}
private class NextAction extends AbstractAction{
JComponent next;
NextAction(JComponent next){
this.next = next;
}
@Override
public void actionPerformed(ActionEvent e) {
this.next.requestFocus();
}
}
private class GuardarAction extends AbstractAction{
IngresosController controller;
GuardarAction(IngresosController controller){
this.controller = controller;
}
@Override
public void actionPerformed(ActionEvent e) {
this.controller.guardarActionListener();
}
}
}