Rincón Uniciencista
  • Inicio
  • Índice
  1. Principal
  2. POO
  3. Solución: Semana 4: Evidencia: Aplicación de métodos - Parte I

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

Publicado por Gfrodriguez el agosto 07, 2021
POO

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");
    }
  }
}

Comentarios

  1. Unknown29 de octubre de 2022, 23:04

    Alguien podria explicar lo del License Headers y template files? no entiendo que toca hacer

    ResponderEliminar
    Respuestas
    1. Gfrodriguez5 de febrero de 2023, 1:28

      Hola, eso solo es parte de la plantilla de cuando se crea el archivo, es un comentario.

      Eliminar
      Respuestas
        Responder
    2. Responder
Añadir comentario
Cargar más...

Publicar un comentario

Buscar este blog
Entradas populares
Ordenar N números en forma descendente o ascendente
Serie de Fibonacci de los N primeros números en C++
Rincón Uniciencista
5 preguntas sobre el Disco Duro
Actividad de aprendizaje 4 - Evidencia: Taller “Uso de formularios para transferencia”
Capítulo 9. Detección y Corrección de Errores
Categorias
  • Arquitectura de Computadores
  • Aseguramiento de la Calidad del Software
  • Bases de Datos
  • ChatGPT
  • Comunicación de Datos
  • Estructura de Datos
  • Gerencia de Tecnología
  • Inglés
  • Móviles
  • NTIC
  • Plantillas
  • POO
  • Programación Lineal
  • Simulación y Modelaje
  • Sistemas de Información
  • Sistemas Operativos
  • Telemática y Redes
  • Teoría General de Sistemas
  • Trucos
Archivo del Blog
Cargando...
Visitas

Copyright © | Rincón Uniciencista | Diseñado por gfrodriguez | Con la tecnología de Blogger