Programa en Java con AWT para Calcular la Venta de Computadores paso a paso

Informática y Telecomunicaciones6,01 KB

Programa en Java para la venta de computadores

A continuación se presenta el código fuente de una aplicación de escritorio desarrollada en Java utilizando la librería AWT. El programa permite seleccionar un modelo de computador, indicar la capacidad del disco duro y el tamaño de la pantalla, y calcular el precio total de la venta.

Importación de librerías

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

Declaración de la clase principal

public class Ordenador extends Frame implements ActionListener
{

//Definir los componentes

private Label lblModelo, lblDisco, lblGB, lblPantalla, lblPulg, lblTotal;
private Checkbox optPentium, optAmd, optAthlon;
private CheckboxGroup cgbModelo;
private TextField txtDisco, txtPantalla, txtTotal;
private Button btnCalcular, btnSalir, btnLimpiar;

public Ordenador()
{

//Personalizar Frame

this.setTitle("Venta de Computadores");
this.setBounds(150, 150, 300, 200);
this.setBackground(Color.green);
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{ System.exit(0); }
});
this.setLayout(new FlowLayout());

//Crear componentes

lblModelo = new Label("Modelo");
lblDisco = new Label("Disco Duro");
lblGB = new Label("GB");
lblPantalla = new Label("Pantalla");
lblPulg = new Label("Pulg.");
lblTotal = new Label("Total");
txtDisco = new TextField("", 5);

//Verificar solo números en la caja de texto

txtDisco.addKeyListener(new KeyAdapter()
{
public void keyTyped(KeyEvent ke)
{
char caracter = ke.getKeyChar();
if((caracter < '0' || caracter > '9') && (caracter != KeyEvent.VK_BACK_SPACE))
{
//Ignorar el evento del teclado
ke.consume();
}
else
{
//Limitar el ingreso de caracteres
if((txtDisco.getText().trim().length() > 1) && (caracter != KeyEvent.VK_BACK_SPACE))
{
//Ignorar el evento del teclado
ke.consume();
}
}
}
});

txtPantalla = new TextField("", 5);

//Verificar solo números en la caja de texto

txtPantalla.addKeyListener(new KeyAdapter()
{
public void keyTyped(KeyEvent ke)
{
char caracter = ke.getKeyChar();
if((caracter < '0' || caracter > '9') && (caracter != KeyEvent.VK_BACK_SPACE))
{
//Ignorar el evento del teclado
ke.consume();
}
else
{
//Limitar el ingreso de caracteres
if((txtPantalla.getText().trim().length() > 1) && (caracter != KeyEvent.VK_BACK_SPACE))
{
//Ignorar el evento del teclado
ke.consume();
}
}
}
});

txtTotal = new TextField("", 10);

//Bloquear Total para que no sea modificado

txtTotal.setEditable(false);
btnCalcular = new Button("Calcular");
btnSalir = new Button("Salir");
btnLimpiar = new Button("Limpiar");
cgbModelo = new CheckboxGroup();
optPentium = new Checkbox("Pentium Duo", cgbModelo, true);
optAmd = new Checkbox("X2 Duo", cgbModelo, false);
optAthlon = new Checkbox("Athlon", cgbModelo, false);

//Agregar componentes al frame

this.add(lblModelo);
this.add(optPentium);
this.add(optAmd);
this.add(optAthlon);
this.add(lblDisco);
this.add(txtDisco);
this.add(lblGB);
this.add(lblPantalla);
this.add(txtPantalla);
this.add(lblPulg);
this.add(btnCalcular);
this.add(lblTotal);
this.add(txtTotal);
this.add(btnSalir);
this.add(btnLimpiar);

//Registrar componentes para el escuchador de eventos (ActionListener)

btnSalir.addActionListener(this);
btnCalcular.addActionListener(this);
btnLimpiar.addActionListener(this);

//Mostrar frame

this.setVisible(true);
}

public static void main(String[] args)
{
new Ordenador();
}

public void actionPerformed(ActionEvent ae)
{
if(ae.getSource() == btnLimpiar)
{
txtDisco.setText("");
txtPantalla.setText("");
txtTotal.setText("");
txtDisco.requestFocus();
}

if(ae.getSource() == btnSalir)
{
System.exit(0);
}

if(ae.getSource() == btnCalcular)
{
int total = 0;

//Verificar el modelo seleccionado

if(cgbModelo.getSelectedCheckbox() == optPentium)
{
total = 300000;
}
else
{
if(cgbModelo.getSelectedCheckbox() == optAmd)
{
total = 270000;
}
else
{
total = 262500;
}
}

//Verificar disco duro

if(txtDisco.getText().equals("40"))
{
total = total + 40000;
}
else
{
if(txtDisco.getText().equals("60"))
{
total = total + 60000;
}
else
{
total = total + 80000;
}
}

//Verificar pantalla

if(txtPantalla.getText().equals("14"))
{
total = total + 24500;
}
else
{
if(txtPantalla.getText().equals("15"))
{
total = total + 26500;
}
else
{
}
if(txtPantalla.getText().equals("17"))
{
total = total + 30000;
}
}

//Mostrar total

txtTotal.setText("" + total);
}
}
}

Descargar

PDF Word HTML