es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El botón JButton no es visible en mi marco aunque no recibí ningún tipo de error en mi terminal.

Traté de hacer una aplicación de Java que simplemente suma dos números y muestra la suma en mi marco cuando se hace clic en el botón. ¿Alguien puede ayudarme a deshacerme de esto? Simplemente implemento el marco mediante la extensión de la clase JFrame y hago el código en el constructor predeterminado de mi clase. Aquí está mi código.

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.event.*;

public class mySwing extends JFrame {
    JTextField t1;
    JTextField t2;

    mySwing(){
        JLabel l1 = new JLabel("Ingrese el primer número");
        l1.setBounds(100, 50, 100, 30);
        JLabel l2 = new JLabel("Ingrese el segundo número");
        l2.setBounds(100, 100,100, 30);
        JTextField t1 = new JTextField();
        t1.setBounds(300, 50,100, 30);
        JTextField t2 = new JTextField();
        t2.setBounds(300, 100,100, 30);

        JButton b1 = new JButton("Clic");
        b1.setBounds(250, 200, 50, 50);
        b1.addActionListener(new myAction());

        add(l1);
        add(l2);
        add(t1);
        add(t2);
        add(b1);
        setVisible(true);
        setSize(600,600);
        setLayout(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    class myAction implements ActionListener{
        public void actionPerformed(ActionEvent e){
            int a = Integer.parseInt(t1.getText());
            int b = Integer.parseInt(t2.getText());
            int sum=a+b;

            JLabel l3 = new JLabel("El resultado es " + sum);
            l3.setBounds(100, 300,100, 30);
            add(l3);
        }
    }

    public static void main(String[] args) {
        mySwing s = new mySwing(); 
    }
}
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para crear una aplicación Java que sume dos números y muestre la suma en un frame cuando se hace clic en un botón, puedes usar el siguiente código:

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
    import java.awt.event.*;
    
    public class MySwing extends JFrame {
        private JTextField t1;
        private JTextField t2;
    
        public MySwing() {
            JLabel l1 = new JLabel("Ingresar 1er número");
            l1.setBounds(100, 50, 100, 30);
            JLabel l2 = new JLabel("Ingresar 2do número");
            l2.setBounds(100, 100, 100, 30);
            t1 = new JTextField();
            t1.setBounds(300, 50, 100, 30);
            t2 = new JTextField();
            t2.setBounds(300, 100, 100, 30);
            JButton b1 = new JButton("Click");
            b1.setBounds(250, 200, 50, 50);
            b1.addActionListener(new MyAction());
            add(l1);
            add(l2);
            add(t1);
            add(t2);
            add(b1);
            setVisible(true);
            setSize(600, 600);
            setLayout(null);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
        }
    
        class MyAction implements ActionListener {
            public void actionPerformed(ActionEvent e) {
                int a = Integer.parseInt(t1.getText());
                int b = Integer.parseInt(t2.getText());
                int sum = a + b;
                JLabel l3 = new JLabel("El resultado es " + sum);
                l3.setBounds(100, 300, 100, 30);
                add(l3);
            }
        }
    
        public static void main(String[] args) {
            MySwing s = new MySwing();
        }
    }
    

    En este código, creamos un JFrame y le agregamos tres JLabels, dos JTextFields y un JButton. También implementamos un ActionListener personalizado que sumará los dos números ingresados y mostrará la suma en el JFrame. Cuando se hace clic en el botón, obtenemos el valor ingresado en los JTextFields, los sumamos y creamos un nuevo JLabel que muestra el resultado.

    Para ejecutar este código, crea un nuevo archivo Java en tu IDE o editor de texto y copia el código anterior en él. Guarda el archivo como MySwing.java y luego compílalo y ejecútalo. Deberías ver un JFrame con dos JLabels, dos JTextFields y un JButton. Ingresa dos números en los campos de texto y haz clic en el botón para ver el resultado en el JFrame.

Comments are closed.