Como me recomiendan hacer una calculadora

Hola muy buenas a todo quería ver si me podrían ayudar como me recomiendan hacer una calculadora programada en java por medio de ventanas o por medio de botones

Así lo tengo pero solo es por medio de ventanas

package Calculadora;
import javax.swing.*;

public class Calculadora
{
public static void main(String[] args)
{
String n1,n2,opc;
JOptionPane.showMessageDialog(null,"Aclaracion usar puros numeros");
JOptionPane.showMessageDialog(null,"\tMENÚ "
+ "\n1 Suma. "
+ "\n2 Resta. "
+ "\n3 Multiplicacion "
+ "\n4 División. "
+ "\n5 Cuadrado. "
+ "\n6 Porcentaje "
+ "\n7 Salir");
do
{
n1=JOptionPane.showInputDialog("Introduce un número");
}
while(n1.equals(""));
int p1=Integer.parseInt(n1);
do
{
n2=JOptionPane.showInputDialog("Introduce otro número");
}
while(n2.equals(""));
int p2=Integer.parseInt(n2);
JOptionPane.showMessageDialog(null,"\tMENÚ "
+ "\n1 Suma. "
+ "\n2 Resta. "
+ "\n3 Multiplicacion "
+ "\n4 División. "
+ "\n5 Cuadrado. "
+ "\n6 Porcentaje "
+ "\n7 Salir");
do
{
opc=JOptionPane.showInputDialog("Introduce una opción");
}
while(opc.equals(""));
int op=Integer.parseInt(opc);
switch(op)
{
case 1://Suma
JOptionPane.showMessageDialog(null,"La suma es: "+suma(p1,p2));
break;
case 2://Resta
JOptionPane.showMessageDialog(null,"La resta es: "+resta(p1,p2));
break;
case 3://Multiplicación
JOptionPane.showMessageDialog(null,"La multiplicacion es: "+multiplicacion(p1,p2));
break;

case 4://División
JOptionPane.showMessageDialog(null,"La division es: "+division(p1,p2));
break;
case 5://Elevar al cuadrado
JOptionPane.showMessageDialog(null,"El cuadrado del numero es: "+cuadrado(p1));

case 6://Porcentaje
JOptionPane.showMessageDialog(null,"El porcentaje del numero es: "+porcentaje(p1));

}
System.exit(0);
}
static int suma(int x,int y)
{
return x+y;
}

static int resta(int x,int y)
{
return x-y;
}

static int multiplicacion(int x,int y)
{
return x*y;
}

static int division(int x,int y)
{
return x/y;
}

static double cuadrado(double x)
{
return x*x;
}

static double porcentaje (double x)
{
return x/100;
}

}

Si me puedan dar consejos y poderme a decir como lo podría hacer por botones se los agradeceré una vez más aclaro es en JAVA

Añade tu respuesta

Haz clic para o