Ir al contenido principal

Semana 2: Evidencia: Construcción de un applet - Parte II

Realice un applet llamado AppletManejadores, el cual despliegue tres campos de texto y varios botones para realizar operaciones con los campos de texto. Los campos son X, Y y RESULTADO. Cada operación aritmética será de X como primer operando y Y como segundo operando. El texto que corresponde a resultado deberá quitársele la facilidad de ser editable, utilizando el método setEditable para ese texto. 

Para la construcción del applet tenga en cuenta la siguiente estructura (en este ejemplo se asume que el botón “Y a la X” fue seleccionado):

 



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

public class AppletManejadores implements ActionListener {

    JFrame frame = new JFrame();
    Panel panel1, panel2;
    BorderLayout borderLayout = new BorderLayout();
    Label labelX, labelY, labelResultado;
    Button ButtonSumar, ButtonRestar, ButtonMultiplicar, ButtonDividir, ButtonRaizX, ButtonRaizY, ButtonXalaY, ButtonYalaX, ButtonXmodY;
    TextField textFieldX, textFieldY, textFieldResultado;

    AppletManejadores() {

        frame.setTitle("AppletManejadores");
        frame.setLayout(borderLayout);

        panel1 = new Panel(new GridLayout(2, 3, 5, 5));
        panel2 = new Panel(new GridLayout(3, 3, 5, 5));
        labelX = new Label("X", Label.CENTER);
        labelY = new Label("Y", Label.CENTER);
        labelResultado = new Label("Resultado", Label.CENTER);
        
        textFieldX = new TextField();
        textFieldY = new TextField();
        textFieldResultado = new TextField();
        textFieldResultado.setEditable(false);
        textFieldX.setSize(300,10);
        textFieldY.setSize(300,10);
        textFieldResultado.setSize(300,10);
        panel1.add(labelX);
        panel1.add(labelY);
        panel1.add(labelResultado);
        panel1.add(textFieldX);
        panel1.add(textFieldY);
        panel1.add(textFieldResultado);

        ButtonSumar = new Button("+");
        ButtonRestar = new Button("-");
        ButtonMultiplicar = new Button("*");
        ButtonDividir = new Button("/");
        ButtonRaizX = new Button("Raiz x");
        ButtonRaizY = new Button("Raiz y");
        ButtonXalaY = new Button("X a la Y");
        ButtonYalaX = new Button("Y a la X");
        ButtonXmodY = new Button("X mod Y");

        panel2.add(ButtonSumar);
        panel2.add(ButtonRestar);
        panel2.add(ButtonMultiplicar);
        panel2.add(ButtonDividir);
        panel2.add(ButtonRaizX);
        panel2.add(ButtonRaizY);
        panel2.add(ButtonXalaY);
        panel2.add(ButtonYalaX);
        panel2.add(ButtonXmodY);

        ButtonSumar.addActionListener(this);
        ButtonRestar.addActionListener(this);
        ButtonMultiplicar.addActionListener(this);
        ButtonDividir.addActionListener(this);
        ButtonRaizX.addActionListener(this);
        ButtonRaizY.addActionListener(this);
        ButtonXalaY.addActionListener(this);
        ButtonYalaX.addActionListener(this);
        ButtonXmodY.addActionListener(this);

        frame.add(panel1, BorderLayout.NORTH);        
        frame.add(panel2, BorderLayout.CENTER);

        frame.setSize(300, 250);        
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

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

    public void actionPerformed(ActionEvent e) {
        String numeroResultadoltado;
        double numeroX, numeroY, numeroResultado;

        if (e.getSource() == ButtonSumar) {
            numeroX = Integer.parseInt(textFieldX.getText());
            numeroY = Integer.parseInt(textFieldY.getText());
            numeroResultado = numeroX + numeroY;
            numeroResultadoltado = String.valueOf(numeroResultado);
            textFieldResultado.setText(numeroResultadoltado);
        } else if (e.getSource() == ButtonRestar) {
            numeroX = Integer.parseInt(textFieldX.getText());
            numeroY = Integer.parseInt(textFieldY.getText());
            numeroResultado = numeroX - numeroY;
            numeroResultadoltado = String.valueOf(numeroResultado);
            textFieldResultado.setText(numeroResultadoltado);
        } else if (e.getSource() == ButtonMultiplicar) {
            numeroX = Integer.parseInt(textFieldX.getText());
            numeroY = Integer.parseInt(textFieldY.getText());
            numeroResultado = numeroX * numeroY;
            numeroResultadoltado = String.valueOf(numeroResultado);
            textFieldResultado.setText(numeroResultadoltado);
        } else if (e.getSource() == ButtonDividir) {
            numeroX = Integer.parseInt(textFieldX.getText());
            numeroY = Integer.parseInt(textFieldY.getText());
            numeroResultado = numeroX / numeroY;
            numeroResultadoltado = String.valueOf(numeroResultado);
            textFieldResultado.setText(numeroResultadoltado);
        } else if (e.getSource() == ButtonRaizX) {
            numeroX = Integer.parseInt(textFieldX.getText());
            numeroY = Integer.parseInt(textFieldY.getText());
            numeroResultado = Math.sqrt(numeroX);
            numeroResultadoltado = String.valueOf(numeroResultado);
            textFieldResultado.setText(numeroResultadoltado);
        } else if (e.getSource() == ButtonRaizY) {
            numeroX = Integer.parseInt(textFieldX.getText());
            numeroY = Integer.parseInt(textFieldY.getText());
            numeroResultado = Math.sqrt(numeroY);
            numeroResultadoltado = String.valueOf(numeroResultado);
            textFieldResultado.setText(numeroResultadoltado);
        } else if (e.getSource() == ButtonXalaY) {
            numeroX = Integer.parseInt(textFieldX.getText());
            numeroY = Integer.parseInt(textFieldY.getText());
            numeroResultado = Math.pow(numeroX, numeroY);
            numeroResultadoltado = String.valueOf(numeroResultado);
            textFieldResultado.setText(numeroResultadoltado);
        } else if (e.getSource() == ButtonYalaX) {
            numeroX = Integer.parseInt(textFieldX.getText());
            numeroY = Integer.parseInt(textFieldY.getText());
            numeroResultado = Math.pow(numeroY, numeroX);
            numeroResultadoltado = String.valueOf(numeroResultado);
            textFieldResultado.setText(numeroResultadoltado);
        } else if (e.getSource() == ButtonXmodY) {
            numeroX = Integer.parseInt(textFieldX.getText());
            numeroY = Integer.parseInt(textFieldY.getText());
            numeroResultado = numeroX % numeroY;
            numeroResultadoltado = String.valueOf(numeroResultado);
            textFieldResultado.setText(numeroResultadoltado);
        }
    }
}

Comentarios

Entradas más populares de este blog

5 preguntas sobre el Disco Duro