Solución: Semana 4: Evidencia: Aplicación de métodos - Parte I

Solución: Realice un applet llamado AppletMetodos que tome los datos de una cuenta bancaria (número, nombre y saldo) y que al oprimir el botón cree un objeto de la clase cuenta y
que después de desplegarlo en el área de texto llame el resultado. El applet deberá
utilizar un objeto de la clase cuenta, esto habrá que definirlo de la siguiente manera:

1. Manejar número, nombre y saldo de la cuenta.
2. Tener un constructor que cree una cuenta sin parámetros.
3. Poseer un constructor que desarrolle una cuenta con los tres parámetros.
4. Tener los métodos de acceso correspondientes.
5. Tener los métodos modificadores correspondientes.

El applet deberá presentar algo parecido a lo siguiente:

Según el ejercicio las condiciones de la cuenta se especifican en la clase Cuenta.java, así:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author gfrodriguez
 */
public class Cuenta {

  private int numeroCuenta;
  private String nombreCliente;
  private Double saldoCuenta;

  public Cuenta() {
    numeroCuenta = 0;
    nombreCliente = "";
    saldoCuenta = 0.0;
  }

  public Cuenta(int numero, String nombre, Double saldo) {
    numeroCuenta = numero;
    nombreCliente = nombre;
    saldoCuenta = saldo;
  }

  public void setNumeroCuenta(int numero) {
    numeroCuenta = numero;
  }

  public void setNombreCliente(String nombre) {
    nombreCliente = nombre;
  }

  public void setSaldoCuenta(Double saldo) {
    saldoCuenta = saldo;
  }

  public int getNumeroCuenta() {
    return numeroCuenta;
  }

  public String getNombreCliente() {
    return nombreCliente;
  }

  public Double getSaldoCuenta() {
    return saldoCuenta;
  }
}

Se crea el archivo de clase con el nombre AppletMetodos.java para la interfaz y gestionar las ordenes.

  
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import static javax.swing.JOptionPane.showMessageDialog;

public class AppletMetodos implements ActionListener {

  private JFrame frame = new JFrame();

  private Button buttonDespliegaCuenta;
  private Panel panel;
  private Label labelNombreCliente, labelNumeroCuenta, labelResultado, labelSaldoCuenta;
  private JTextArea textAreaResultado;
  private TextField textFieldNombreCliente, textFieldNumeroCuenta, textFieldSaldoCuenta;
  JScrollPane scrollTextArea;

  AppletMetodos() {
    frame.setTitle("AppletMétodos");
    panel = new Panel();
    labelNumeroCuenta = new Label("Número de Cuenta");
    textFieldNumeroCuenta = new TextField();
    labelNombreCliente = new Label("Nombre Cliente");
    textFieldNombreCliente = new TextField();
    labelSaldoCuenta = new Label("Saldo cuenta");
    textFieldSaldoCuenta = new TextField();
    buttonDespliegaCuenta = new Button("Despliega Cuenta");
    labelResultado = new Label("Resultado");
    textAreaResultado = new JTextArea();

    JScrollPane scrollTextArea = new JScrollPane();

    textAreaResultado.setLineWrap(true);

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(panel);
    panel.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 100, Short.MAX_VALUE)
    );
    jPanel1Layout.setVerticalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 100, Short.MAX_VALUE)
    );

    textAreaResultado.setColumns(20);
    textAreaResultado.setRows(5);
    scrollTextArea.setViewportView(textAreaResultado);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(frame.getContentPane());
    frame.getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
        .addGap(233, 233, 233)
        .addComponent(buttonDespliegaCuenta, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        .addGap(192, 192, 192))
      .addGroup(layout.createSequentialGroup()
        .addContainerGap()
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addComponent(textFieldNumeroCuenta)
          .addComponent(textFieldNombreCliente)
          .addComponent(textFieldSaldoCuenta)
          .addGroup(layout.createSequentialGroup()
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
              .addComponent(labelNumeroCuenta)
              .addComponent(labelNombreCliente)
              .addComponent(labelSaldoCuenta)
              .addComponent(labelResultado))
            .addGap(18, 18, 18)
            .addComponent(scrollTextArea, javax.swing.GroupLayout.PREFERRED_SIZE, 431, javax.swing.GroupLayout.PREFERRED_SIZE)))
        .addContainerGap())
    );
    layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
        .addContainerGap()
        .addComponent(labelNumeroCuenta)
        .addGap(18, 18, 18)
        .addComponent(textFieldNumeroCuenta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        .addGap(18, 18, 18)
        .addComponent(labelNombreCliente)
        .addGap(18, 18, 18)
        .addComponent(textFieldNombreCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        .addGap(18, 18, 18)
        .addComponent(labelSaldoCuenta)
        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
        .addComponent(textFieldSaldoCuenta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        .addGap(18, 18, 18)
        .addComponent(buttonDespliegaCuenta)
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGroup(layout.createSequentialGroup()
            .addGap(122, 122, 122)
            .addComponent(labelResultado, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGap(115, 115, 115))
          .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
            .addGap(18, 18, 18)
            .addComponent(scrollTextArea, javax.swing.GroupLayout.PREFERRED_SIZE, 230, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addContainerGap())))
    );

    frame.setMinimumSize(new Dimension(300, 300));
    frame.setSize(597, 562);
    frame.setLocationRelativeTo(null);
    frame.setResizable(false);
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    buttonDespliegaCuenta.addActionListener(this);

  }

  public static void main(String args[]) {
    AppletMetodos appletMetodos = new AppletMetodos();
  }

  public void actionPerformed(ActionEvent e) {
    if (!textFieldNumeroCuenta.getText().equals("") && !"".equals(textFieldNombreCliente.getText()) && !"".equals(textFieldSaldoCuenta.getText())) {
      Cuenta cuenta = new Cuenta();
      cuenta.setNumeroCuenta(Integer.parseInt(textFieldNumeroCuenta.getText()));
      cuenta.setNombreCliente(textFieldNombreCliente.getText());
      cuenta.setSaldoCuenta(Double.parseDouble(textFieldSaldoCuenta.getText()));
      textAreaResultado.setText("Número de cuenta  " + cuenta.getNumeroCuenta() + " Nombre Cliente " + cuenta.getNombreCliente() + " Saldo de cuenta " + cuenta.getSaldoCuenta());
    } else {
      showMessageDialog(null, "Todos los campos son obligatorios");
    }
  }
}

0 comments :

Publicar un comentario