0% encontró este documento útil (0 votos)
1K vistas5 páginas

Calculadora en Netbeans

Este documento describe una clase Java para crear una calculadora gráfica utilizando NetBeans. La clase principal MarcoCalculadora crea un marco para la calculadora y agrega un objeto de la clase Calculadora. La clase Calculadora implementa ActionListener y contiene los componentes GUI como botones numéricos y de operación, así como la lógica para realizar cálculos básicos al presionar los botones.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1K vistas5 páginas

Calculadora en Netbeans

Este documento describe una clase Java para crear una calculadora gráfica utilizando NetBeans. La clase principal MarcoCalculadora crea un marco para la calculadora y agrega un objeto de la clase Calculadora. La clase Calculadora implementa ActionListener y contiene los componentes GUI como botones numéricos y de operación, así como la lógica para realizar cálculos básicos al presionar los botones.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

calculadora en netbeans package calculadora; import import import import java.awt.*; java.awt.event.

*; //importamos las clases que necesitamos javax.swing.*; javax.swing.border.TitledBorder;

public class MarcoCalculadora extends JFrame { public MarcoCalculadora() { super("Calculadora"); setSize(200, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Calculadora asis = new Calculadora(); add(asis); setResizable(false); setVisible(true); } public static void main(String[] arguments) { MarcoCalculadora calculadora = new MarcoCalculadora(); } } class Calculadora extends JPanel implements ActionListener{ //creamos las variables de clase que necesitamos para guardar //los valores double num1,num2,memo,total; char oper; //creamos los botones que van formar parte de nuestro marco o ventana //de la calculadora //botones de operaciones JLabel lb1=new JLabel("Digite aqu los numeros: "); JLabel lb2=new JLabel(""); JTextField txt1=new JTextField("",15); JButton sum=new JButton("+"); JButton res=new JButton("-"); JButton mul=new JButton("*"); JButton div=new JButton("/"); JButton igual=new JButton("="); JButton borrarActual=new JButton("CE"); JButton borrar=new JButton("C"); JButton mod=new JButton("%"); //los botones con los numeros JButton punto=new JButton("."); JButton n0=new JButton("0"); JButton n1=new JButton("1"); JButton n2=new JButton("2"); JButton n3=new JButton("3"); JButton n4=new JButton("4"); JButton n5=new JButton("5"); JButton n6=new JButton("6"); JButton n7=new JButton("7"); JButton n8=new JButton("8"); JButton n9=new JButton("9");

public Calculadora() { //constructor de la clase Calculadora //creamos un panel para mostrar la etiqueta con el campo de //introduccin de texto JPanel p1=new JPanel(); p1.add(lb1); p1.add(txt1); //creamos otro panel para mostrar los botones de las operaciones JPanel p2=new JPanel(); p2.setBorder(BorderFactory.createTitledBorder(null, "Operaciones", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog",Font.BOLD, 12), new Color(51, 51, 51))); p2.add(sum); p2.add(res); p2.add(mul); p2.add(div); p2.add(igual); //agregamos el evento ActionListener a cada uno de los botones //en este caso el evento es el de presionar un botn sum.addActionListener(this); res.addActionListener(this); mul.addActionListener(this); div.addActionListener(this); igual.addActionListener(this); //creamos otro panel para mostrar los botones de los numeros y //los botones de borrar JPanel p3=new JPanel(); p3.setLayout(new GridLayout(5,3)); p3.add(lb2); p3.add(borrar); p3.add(borrarActual); p3.add(n7); p3.add(n8); p3.add(n9); p3.add(n4); p3.add(n5); p3.add(n6); p3.add(n1); p3.add(n2); p3.add(n3); p3.add(punto); p3.add(n0); p3.add(mod); //agregamos el evento ActionListener a cada uno de los botones n7.addActionListener(this); n8.addActionListener(this); n9.addActionListener(this); n4.addActionListener(this); n5.addActionListener(this); n6.addActionListener(this); n1.addActionListener(this); n2.addActionListener(this); n3.addActionListener(this); punto.addActionListener(this); n0.addActionListener(this); borrarActual.addActionListener(this); borrar.addActionListener(this);

mod.addActionListener(this); //creamos el gestor de diseo que nos permitira ordenar los paneles //en este caso use el gestor de diseo GridLayout que me muestra los //paneles en forma de filas y columnas GridLayout grid=new GridLayout(3,1,5,5); setLayout(grid); add(p1); add(p3); add(p2); } //metodo de la Interface ActionListener que nos permite //manejar el evento de presionar un botn public void actionPerformed(ActionEvent evt) { try{ //creamos un objeto que nos permite manejar este evento //le agregamos a la variable el metodo getSource //que significa que esta va a manejar dicho evento Object fuente = evt.getSource(); String datos=txt1.getText();//esta variable recupera lo del JTextField //validamos el botn que el usuario presiono if (fuente == n0) { txt1.setText(""); txt1.setText(""+datos+n0.getText()); } else if (fuente == n1) { txt1.setText(""); txt1.setText(""+datos+n1.getText()); }else if (fuente == n2) { txt1.setText(""); txt1.setText(""+datos+n2.getText()); }else if (fuente == n3) { txt1.setText(""); txt1.setText(""+datos+n3.getText()); }else if (fuente == n4) { txt1.setText(""); txt1.setText(""+datos+n4.getText()); }else if (fuente == n5) { txt1.setText(""); txt1.setText(""+datos+n5.getText()); }else if (fuente == n6) { txt1.setText(""); txt1.setText(""+datos+n6.getText()); }else if (fuente == n7) { txt1.setText(""); txt1.setText(""+datos+n7.getText()); }else if (fuente == n8) { txt1.setText(""); txt1.setText(""+datos+n8.getText()); }else if (fuente == n9) { txt1.setText(""); txt1.setText(""+datos+n9.getText()); }else if (fuente == punto) { txt1.setText(""); txt1.setText(""+datos+punto.getText()); } //validamos segn la operacin seleccionada if(fuente==sum){ //convertir el primer nmero ingresado a un double num1=Double.parseDouble(txt1.getText());

memo=num1; oper='+'; txt1.setText(""); txt1.requestFocus(); }else if(fuente==res){ num1=Double.parseDouble(txt1.getText()); memo=num1; oper='-'; txt1.setText(""); txt1.requestFocus(); }else if(fuente==mul){ num1=Double.parseDouble(txt1.getText()); memo=num1; oper='*'; txt1.setText(""); txt1.requestFocus(); }else if(fuente==div){ num1=Double.parseDouble(txt1.getText()); memo=num1; oper='/'; txt1.setText(""); txt1.requestFocus(); }else if(fuente==mod){ num1=Double.parseDouble(txt1.getText()); memo=num1; oper='%'; txt1.setText(""); txt1.requestFocus(); } //mostramos en el JTextField segn la operacin realizada if (fuente==igual){ //convertir el segundo nmero ingresado un double num2=Double.parseDouble(txt1.getText()); //segn la operacin mostrar el resultado if (oper=='+'){ total=num1+num2; txt1.setText(""+total); }else if(oper=='-'){ total=num1-num2; txt1.setText(""+total); }else if(oper=='*'){ total=num1*num2; txt1.setText(""+total); }else if(oper=='/'){ total=num1/num2; txt1.setText(""+total); }else if(oper=='%') total=num1 % num2; txt1.setText(""+total); } //mostramos el primer valor digitado if(fuente==borrarActual){ num2=0; txt1.setText(""+memo); } //borramos todos lo valores if(fuente==borrar){ num1=0;

num2=0; memo=0; txt1.setText(""); txt1.requestFocus(); } repaint(); } catch (NumberFormatException nfe) { //Aadimos una excepcin por si introducimos letras //o si se realiza divisin por cero txt1.setText("0"); } } }

También podría gustarte