Mp mardoqueo informe tecnico tap

469 views

Published on

PROGRAMACION CON EVENTOS

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
469
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Mp mardoqueo informe tecnico tap

  1. 1. INSTITUTO TECNOLOGICO SUPERIOR FELIPE CARRILLO PUERTO ING. SISTEMAS COMPUTACIONALES. TOPICOS AVANZADOS DE PROGRAMACION MARDOQUEO MATEO PEDRO DOCENTE: DOC. NIELS ARANA CUEVA TAREA: INFORME TECNICO U1 4º SEMESTRE GRUPO A FECHA: 06-MARZO-2014.
  2. 2. INTRODUCCION En esta unidad veremos como programar con eventos, a través de botones, donde un evento es la respuesta a una acción provocada por el usuario o el sistema, con el objetivo de agilizar y mejorar el diseño gráfico de algún programa como veremos a continuación.  PRACTICA CALCULADORA 1. Se crea una clase Main la cual llamara a otra clase que se llama VentanaCalculadora la cual contiene los códigos del evento. package org.mardo.java.calculadora; public class Main { public static void main(String[] args) { Calcu calculadora = new Calcu (); calculadora.setVisible(true); } } 2. Se crea otra clase llamada Calcu. package org.mardo.java.calculadora; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; 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;
  3. 3. import javax.swing.WindowConstants; import javax.swing.border.EmptyBorder; public class Calcu extends JFrame { private static final long serialVersionUID = 1583724102189855698L; JTextField pantalla; 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 Calcu() { super(); setSize(250, 300); setTitle("Calcu MARDO"); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setResizable(false); // Aquí se dibuja 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); //Se crea el panel de los numeros
  4. 4. 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); // Aquí se crea el panes de los botones con sus respectivas operaciones 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(); } 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); }
  5. 5. 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); } private void numeroPulsado(String digito) { if (pantalla.getText().equals("0") || nuevaOperacion) { pantalla.setText(digito); } else { pantalla.setText(pantalla.getText() + digito); } nuevaOperacion = false; } 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;
  6. 6. } 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 = " "; } }  PRACTICA HOLA Y ADIOS import javax.swing.*; import java.awt.*; import java.awt.event.*; class Igu extends Frame{ // Se crean los botones que generaran una acción Button hola, adios; TextField campo_texto; Igu (String nombre){ super(nombre); hola= new Button("1"); adios= new Button("2"); campo_texto= new TextField(12); FlowLayout diseñador= new FlowLayout(); setLayout(diseñador); JLabel label = new JLabel("Example JFrame"); add(label); add(hola); add(adios); add(campo_texto); holaa h=new holaa(); hola.addActionListener(h);
  7. 7. adioss a=new adioss(); adios.addActionListener(a); Cerrar_ventana cerrar=new Cerrar_ventana(); this.addWindowListener(cerrar); } // Al presionar el botón 1 generara el evento “Hola” class holaa implements ActionListener{ public void actionPerformed(ActionEvent e){ String resh ="Hola"; campo_texto.setText(resh); } } //Al presionar el botón 2 generara el evento Adios class adioss implements ActionListener{ public void actionPerformed(ActionEvent e){ String resa ="Adios"; campo_texto.setText(resa); } } class Cerrar_ventana extends WindowAdapter implements WindowListener{ public void windowClosing(WindowEvent e){ dispose(); System.exit(0); } } } class Principal{ public static void main (String []args){ Igu interfaz=new Igu("Saludos"); interfaz.setSize(300,100); interfaz.setVisible(true); } } CONCLUSION Los eventos en una programación, permite al programador diseñar un interfaz gráfico como el usuario quiere ver su programa al finalizar la programación.

×