Solución: Semana 3: Evidencia: Manejo de eventos - Parte I
Publicado por
el
Solución: Elabore un applet llamado BotonesApplet, el cual tome dos números, realizando las operaciones expresadas en los botones de la siguiente manera:
- Suma el primer y el segundo número, dejando el valor como resultado.
- Resta el segundo número del primero, dejando el valor como resultado.
- Multiplica el primer y el segundo número, dejando el valor como resultado.
- Divide el primer número entre el segundo, dejando el valor como resultado.
- Deja la raíz del primer número como resultado.
- Deja la raíz del segundo número como resultado.
- Deja el valor mayor de ambos números como resultado.
- Limpia el contenido de todos los campos.
El applet debe contar con la siguiente estructura:
import java.awt.Button; import java.awt.GridLayout; import java.awt.Label; import java.awt.Panel; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; /** * * @author gfrodriguez */ public class BotonesApplet extends javax.swing.JApplet implements ActionListener { JFrame frame = new JFrame(); Panel panel1, panel2, panel3, panel4, panel5; GridLayout borderLayout = new GridLayout(5, 1); Label labelNumero1, labelNumero2, labelResultado; Button buttonSumar, buttonRestar, buttonMultiplicar, buttonDividir, buttonRaiz1, buttonRaiz2, buttonMayor, buttonLimpiar; TextField textFieldNumero1, textFieldNumero2, textFieldResultado; BotonesApplet() { frame.setTitle("BotonesApplet"); frame.setLayout(borderLayout); labelNumero1 = new Label("Numero 1", Label.LEFT); labelNumero2 = new Label("Numero 2", Label.LEFT); labelResultado = new Label("Resultado", Label.LEFT); textFieldNumero1 = new TextField(); textFieldNumero2 = new TextField(); textFieldResultado = new TextField(); buttonSumar = new Button("Suma"); buttonRestar = new Button("Resta"); buttonMultiplicar = new Button("Multiplica"); buttonDividir = new Button("Divide"); buttonRaiz1 = new Button("Raiz de 1"); buttonRaiz2 = new Button("Raiz de 2"); buttonMayor = new Button("Mayor"); buttonLimpiar = new Button("Limpia"); buttonSumar.addActionListener(this); buttonRestar.addActionListener(this); buttonMultiplicar.addActionListener(this); buttonDividir.addActionListener(this); buttonRaiz1.addActionListener(this); buttonRaiz2.addActionListener(this); buttonMayor.addActionListener(this); buttonLimpiar.addActionListener(this); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(frame.getContentPane()); frame.getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(44, 44, 44) .addComponent(buttonDividir, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(buttonRaiz1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(29, 29, 29)) .addGroup(layout.createSequentialGroup() .addComponent(buttonSumar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(buttonRestar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(buttonMultiplicar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(layout.createSequentialGroup() .addComponent(buttonRaiz2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(buttonMayor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(buttonLimpiar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(labelNumero1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(labelNumero2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(labelResultado, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(textFieldNumero1) .addComponent(textFieldNumero2) .addComponent(textFieldResultado)))) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(labelNumero1) .addComponent(textFieldNumero1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(labelNumero2) .addComponent(textFieldNumero2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(buttonSumar) .addComponent(buttonRestar) .addComponent(buttonMultiplicar)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(buttonDividir) .addComponent(buttonRaiz1)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(buttonRaiz2) .addComponent(buttonMayor) .addComponent(buttonLimpiar)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(labelResultado) .addComponent(textFieldResultado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); frame.setSize(250, 270); frame.setLocationRelativeTo(null); frame.setResizable(false); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new BotonesApplet(); } public void actionPerformed(ActionEvent e) { String numeroResultadoltado; double numero1, numero2, numeroResultado; if (e.getSource() == buttonSumar && !textFieldNumero2.getText().equals("") && !"".equals(textFieldNumero1.getText())) { numero1 = Double.parseDouble(textFieldNumero1.getText()); numero2 = Double.parseDouble(textFieldNumero2.getText()); numeroResultado = numero1 + numero2; textFieldResultado.setText(String.valueOf(numeroResultado)); } else if (e.getSource() == buttonRestar && !textFieldNumero2.getText().equals("") && !"".equals(textFieldNumero1.getText())) { numero1 = Double.parseDouble(textFieldNumero1.getText()); numero2 = Double.parseDouble(textFieldNumero2.getText()); numeroResultado = numero1 - numero2; textFieldResultado.setText(String.valueOf(numeroResultado)); } else if (e.getSource() == buttonMultiplicar && !textFieldNumero2.getText().equals("") && !"".equals(textFieldNumero1.getText())) { numero1 = Double.parseDouble(textFieldNumero1.getText()); numero2 = Double.parseDouble(textFieldNumero2.getText()); numeroResultado = numero1 * numero2; textFieldResultado.setText(String.valueOf(numeroResultado)); } else if (e.getSource() == buttonDividir && !"".equals(textFieldNumero1.getText()) && !textFieldNumero2.getText().equals("")) { numero1 = Double.parseDouble(textFieldNumero1.getText()); numero2 = Double.parseDouble(textFieldNumero2.getText()); numeroResultado = numero1 / numero2; textFieldResultado.setText(String.valueOf(numeroResultado)); } else if (e.getSource() == buttonRaiz1 && !"".equals(textFieldNumero1.getText())) { numero1 = Double.parseDouble(textFieldNumero1.getText()); numeroResultado = Math.sqrt(numero1); textFieldResultado.setText(String.valueOf(numeroResultado)); } else if (e.getSource() == buttonRaiz2 && !"".equals(textFieldNumero2.getText())) { numero2 = Double.parseDouble(textFieldNumero2.getText()); numeroResultado = Math.sqrt(numero2); textFieldResultado.setText(String.valueOf(numeroResultado)); } else if (e.getSource() == buttonMayor && !"".equals(textFieldNumero1.getText()) && !textFieldNumero2.getText().equals("")) { numero1 = Double.parseDouble(textFieldNumero1.getText()); numero2 = Double.parseDouble(textFieldNumero2.getText()); if (numero1 > numero2) { numeroResultado = numero1; } else { numeroResultado = numero2; } textFieldResultado.setText(String.valueOf(numeroResultado)); } else if (e.getSource() == buttonLimpiar) { textFieldNumero1.setText(""); textFieldNumero2.setText(""); textFieldResultado.setText(""); } } }
Comentarios
Publicar un comentario