Codigos Java
sayaowo24 de Noviembre de 2012
3.770 Palabras (16 Páginas)693 Visitas
Practica: Calculadora
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package basededatos;
/**
*
* @author Henry
*/
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import javax.swing.border.EmptyBorder;
public class calculadora extends JFrame {
/**
* generado
*/
private static final long serialVersionUID = 1583724102189855698L;
/** numero tecleado */
JTextField pantalla;
/** guarda el resultado de la operacion anterior o el número tecleado */
double resultado;
/** para guardar la operacion a realizar */
String operacion;
/** Los paneles donde colocaremos los botones */
JPanel panelNumeros, panelOperaciones;
/** Indica si estamos iniciando o no una operación */
boolean nuevaOperacion = true;
/**
* Constructor. Crea los botones y componentes de la calculadora
*/
public calculadora() {
super();
setSize(250, 300);
setTitle("Calculadora Simple");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setResizable(false);
// Para dibujar sobre el panel
JPanel panel = (JPanel) this.getContentPane();
panel.setLayout(new BorderLayout());
pantalla = new JTextField("0", 20);
pantalla.setBorder(new EmptyBorder(4, 4, 4, 4));
pantalla.setFont(new Font("Arial", Font.BOLD, 25));
pantalla.setHorizontalAlignment(JTextField.RIGHT);
pantalla.setEditable(false);
pantalla.setBackground(Color.WHITE);
panel.add("North", pantalla);
panelNumeros = new JPanel();
panelNumeros.setLayout(new GridLayout(4, 3));
panelNumeros.setBorder(new EmptyBorder(4, 4, 4, 4));
for (int n = 9; n >= 0; n--) {
nuevoBotonNumerico("" + n);
}
nuevoBotonNumerico(".");
panel.add("Center", panelNumeros);
panelOperaciones = new JPanel();
panelOperaciones.setLayout(new GridLayout(6, 1));
panelOperaciones.setBorder(new EmptyBorder(4, 4, 4, 4));
nuevoBotonOperacion("+");
nuevoBotonOperacion("-");
nuevoBotonOperacion("*");
nuevoBotonOperacion("/");
nuevoBotonOperacion("=");
nuevoBotonOperacion("CE");
panel.add("East", panelOperaciones);
validate();
}
/**
* Crea un boton del teclado numérico y enlaza sus eventos con el listener
* correspondiente
*
* @param digito
* boton a crear
*/
private void nuevoBotonNumerico(String digito) {
JButton btn = new JButton();
btn.setText(digito);
btn.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent evt) {
JButton btn = (JButton) evt.getSource();
numeroPulsado(btn.getText());
}
});
panelNumeros.add(btn);
}
/**
* Crea un botón de operacion y lo enlaza con sus eventos.
*
* @param operacion
*/
private void nuevoBotonOperacion(String operacion) {
JButton btn = new JButton(operacion);
btn.setForeground(Color.RED);
btn.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent evt) {
JButton btn = (JButton) evt.getSource();
operacionPulsado(btn.getText());
}
});
panelOperaciones.add(btn);
}
/**
* Gestiona las pulsaciones de teclas numéricas
*
* @param digito
* tecla pulsada
*/
private void numeroPulsado(String digito) {
if (pantalla.getText().equals("0") || nuevaOperacion) {
pantalla.setText(digito);
} else {
pantalla.setText(pantalla.getText() + digito);
}
nuevaOperacion = false;
}
/**
* Gestiona el gestiona las pulsaciones de teclas de operación
*
* @param tecla
*/
private void operacionPulsado(String tecla) {
if (tecla.equals("=")) {
calcularResultado();
} else if (tecla.equals("CE")) {
resultado = 0;
pantalla.setText("");
nuevaOperacion = true;
} else {
operacion = tecla;
if ((resultado > 0) && !nuevaOperacion) {
calcularResultado();
} else {
resultado = new Double(pantalla.getText());
}
}
nuevaOperacion = true;
}
/**
* Calcula el resultado y lo muestra por pantalla
*/
private void calcularResultado() {
if (operacion.equals("+")) {
resultado += new Double(pantalla.getText());
} else if (operacion.equals("-")) {
resultado -= new Double(pantalla.getText());
} else if (operacion.equals("/")) {
resultado /= new Double(pantalla.getText());
} else if (operacion.equals("*")) {
resultado *= new Double(pantalla.getText());
}
pantalla.setText("" + resultado);
operacion = "";
}
public static void main(String[] args) {
calculadora cal = new calculadora();
cal.setVisible(true);
}
}
Practica: CAJAS DE DIALOGO
Visualización de datos con ShowMessageDialog
Esta método visualiza un mensaje en una caja de diálogo.
Sintaxis
showMessageDialog(ComponentcomponentPadreObjetmessaje, String titulo, inttipoMensaje,Icon icono)
Componente padre determina el marco de sobre o que se visualizara el dialogo.
Mensaje objeto a visualizar.
Título titulo del dialogo.
Tipo Mensaje tipo de mensaje que se visualiza.
Icono se muestra en el dialogo, cuando se especifica se elige uno en función del tipo de mensaje.
Contante Icono a mostrar
JoptionPane.ERROR_MESSAGE
JoptionPane.INFORMATION_MESSAGE
JoptionPane.WARNING_MESSAGE
JoptionPane.QUESTION_MESSAGE
JoptionPane.PLAIN_MESSAGE
Sin Icono
Ejemplo Error
import javax.swing.*;
public class Error {
public static void main(String[] args) {
JOptionPane.showMessageDialog(null,"Es incorrecto","Error",javax.swing.JOptionPane.ERROR_MESSAGE);
}
}
Este cuadro es el resultado del mensaje.
Practica: CONFIRMAR DATOS CON showConfirmDialog
Visualiza un mensaje en una caja de dialogo.
Sintaxis:
showconfirmDialog(Component,componentPadre,Object mensaje,String título,in botones,inttipoMensaje,Icon ícono).
Los dos primeros parámetros son obligatorios, el resto son opcionales.
Componente padre determina el marco de sobre o que se visualizara el dialogo.
Mensaje objeto a visualizar.
Título titulo del dialogo.
Icono botones que visualizara el diálogo.
Contante Icono a mostrar
JoptionPane.YES_ NO_OPTION
JoptionPane.YES_NO_CANCEL_OPTION
Contante Icono a mostrar
JoptionPane.ERROR_MESSAGE
JoptionPane.INFORMATION_MESSAGE
JoptionPane.WARNING_MESSAGE
JoptionPane.QUESTION_MESSAGE
JoptionPane.PLAIN_MESSAGE
Sin Icono
Ejemplo Confirmar
import javax.swing.*;
public class Confirmar {
public static void main(String[] args) {
JOptionPane.showConfirmDialog(null,"¿Desea Continuar?","Selecciona Una Opción",
javax.swing.JOptionPane.YES_NO_CANCEL_OPTION,javax.swing.JOptionPane.QUESTION_MESSAGE);
}
}
Este cuadro es el resultado del mensaje.
Practica: ENTRADA DE DATOS CON slowInputDialog
Este método visualiza una caja de dialogo con un mensaje que indica al usuario el tipo de información que debe introducir.
import javax.swing.JOptionPane;
public class PideNombreVentana {
public static void main (String[]args)
{
String Nombre;
Nombre=JOptionPane.showInputDialog("INGRESA
...