package org.magmax.masterjava.tema10.jdbc_example;
import java.awt.Dialog;
import java.awt.GridLayout;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.JSpinner.NumberEditor;
import javax.swing.JTextField;
import javax.swing.SpinnerNumberModel;
import org.magmax.masterjava.tema10.jdbc_example.persistencia.Cuenta;
public class WindowEditCuenta extends JDialog {
private static final long serialVersionUID = -6690322734201335807L;
protected static final int SELECTED_CANCEL = 0;
protected static final int SELECTED_OK = 1;
private JTextField codigo;
private JTextField cliente;
private JTextField email;
private JSpinner saldo;
private WindowEditCuenta window;
private int selected = SELECTED_CANCEL;
public WindowEditCuenta(Dialog owner) throws HeadlessException {
super(owner, "Añadir Cuenta", true);
initComponents();
}
public WindowEditCuenta(Dialog owner, Cuenta cuenta) {
super(owner, "Editar Cuenta", true);
initComponents();
setInitialValues(cuenta);
}
private void setInitialValues(Cuenta cuenta) {
if (cuenta.getCodigo() != null)
codigo.setText(cuenta.getCodigo());
if (cuenta.getCliente() != null)
cliente.setText(cuenta.getCliente());
if (cuenta.getEmail() != null)
email.setText(cuenta.getEmail());
saldo.setValue(cuenta.getSaldo());
codigo.setEditable(false);
}
private void initComponents() {
window = this;
setBounds(200, 200, 300, 200);
getContentPane().setLayout(
new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
initMainComponents();
initButtons();
}
private void initButtons() {
JPanel panel;
panel = new JPanel();
JButton accept = new JButton("Aceptar");
JButton cancel = new JButton("Cancelar");
accept.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
window.setSelected(SELECTED_OK);
window.setVisible(false);
}
});
cancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
window.setVisible(false);
}
});
panel.add(accept);
panel.add(cancel);
add(panel);
}
private void initMainComponents() {
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(4, 2));
codigo = new JTextField();
cliente = new JTextField();
email = new JTextField();
saldo = new JSpinner();
saldo.setModel(new SpinnerNumberModel(0, -99999, 99999, 1.0));
panel.add(new JLabel("Código:"));
panel.add(codigo);
panel.add(new JLabel("Cliente:"));
panel.add(cliente);
panel.add(new JLabel("E-mail:"));
panel.add(email);
panel.add(new JLabel("Saldo:"));
panel.add(saldo);
add(panel);
}
public int getSelected() {
return selected;
}
private void setSelected(int selected) {
this.selected = selected;
}
public String getCodigo() {
return codigo.getText();
}
public String getCliente() {
return cliente.getText();
}
public String getEmail() {
return email.getText();
}
public Double getSaldo() {
return (Double) saldo.getValue();
}
public Cuenta getCuenta() {
Cuenta result = new Cuenta();
result.setCliente(getCliente());
result.setCodigo(getCodigo());
result.setEmail(getEmail());
result.setSaldo(getSaldo());
return result;
}
}