Usuario:ManuelRomero/practica 4
De WikiEducator
< Usuario:ManuelRomero
Revisión a fecha de 01:12 21 abr 2012; ManuelRomero (Discusión | contribuciones)
Proyecto de calculadora
- El siguiente código está sin comentar es el que hemos realizado en clase
Disfrutad el fin de semana
package calucladora; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class VentanaCalculadora extends JFrame implements ActionListener{ //Estdo de operacion de la calculadora final int REAL =0; final int RACIONAL = 1; int modoOperacion =REAL; JButton bDiv = new JButton(); JButton bSep = new JButton(); // Definimos atributos de mi clase JTextField tPantalla = new JTextField(); //Definimos botones Character [] botones ={'7','8','9','C',(char)8592, //Caracter retroceso '4','5','6','+','%', '1','2','3','-',(char)177,//caracter +/- '0','*','/','.','='}; Font fuente = new Font("Arial", Font.BOLD,18); GridLayout lBotones = new GridLayout(4,5,5,5); BorderLayout lPpal = new BorderLayout(); JPanel pBotones = new JPanel(); //Menus JMenuBar barraMenu = new JMenuBar(); JMenu mEstilo = new JMenu("Estilo"); JMenu mAyuda = new JMenu("Ayuda"); JMenu mSalir = new JMenu("Salir"); JRadioButtonMenuItem bRacional = new JRadioButtonMenuItem("Racionall"); JRadioButtonMenuItem bReal = new JRadioButtonMenuItem("Real"); ButtonGroup grupo = new ButtonGroup(); VentanaCalculadora(){ addBotones(); addMenu(); setJMenuBar(barraMenu); setLayout(lPpal); tPantalla.setHorizontalAlignment(JTextField.RIGHT); tPantalla.setFont(fuente); add(tPantalla,BorderLayout.NORTH); add(pBotones, BorderLayout.CENTER); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); pack(); } private void addMenu(){ barraMenu.add(mEstilo); barraMenu.add(mAyuda); barraMenu.add(mSalir); //Añadir escuchadores de evento a los botones bReal.addActionListener(this); bRacional.addActionListener(this); grupo.add(bRacional); grupo.add(bReal); bReal.setSelected(true); mEstilo.add(bRacional); mEstilo.add(bReal); } private void addBotones(){ pBotones.setLayout(lBotones); for (int i=0;i<20;i++){ JButton b = new JButton(botones[i].toString()); b.setFont(fuente); b.addActionListener(this); pBotones.add(b); if (i==17){ bDiv=b; } if (i==18){ bSep=b; } } } public void actionPerformed(ActionEvent e) { if (e.getSource() ==bReal){ modoOperacion=REAL; setTitle("Calculadora Real"); bDiv.setText("/"); bSep.setText("."); }else if (e.getSource() ==bRacional){ modoOperacion=RACIONAL; setTitle("Calculadora Racional"); bDiv.setText(":"); bSep.setText("/"); }else{ String c = ((JButton)e.getSource()).getText(); tPantalla.setText(tPantalla.getText()+c); } } public static void main (String []s){ VentanaCalculadora v = new VentanaCalculadora(); } }