Buenas tardes continuamos complicándonos la vida con java. Sigo realizando mi calculadora. En este ejercicio he puesto puesto a la escucha los botones con números de la calculadora para que cuando toquemos en ellos aparezca en la consola, para el que utilicé un JTextField, el número presionado, en las siguientes practicas le iré dando funcionalidad.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class otroEjemplodelayout {
public static void main (String[] asgs) {
Marco123456789 Calculator = new Marco123456789();
Calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Calculator.setVisible(true);
}
}
class Marco123456789 extends JFrame{
public Marco123456789() {
setTitle("Practica
de Calculadora");
setBounds(300,100,350,400);
Consola Calculadora = new Consola();
add(Calculadora);
}
}
class Consola extends JPanel implements ActionListener{
public Consola(){
setLayout(new BorderLayout());
cuadro_texto =new JTextField ("0",10);
cuadro_texto.setBackground(Color.magenta);
cuadro_texto.setFont(new Font("Arial Black",Font.BOLD,35));
//cuadro_texto.setLayout(new
BorderLayout());
add(cuadro_texto,BorderLayout.NORTH);
Panel =new JPanel();
Panel.setLayout(new GridLayout(5,4)); //creamos un array con los botones
JButton Botones_Calculo[] = {
new JButton("0"),new JButton("1"),new JButton("2"),new JButton("3"),
new JButton("4"),new JButton("5"),new JButton("6"),new JButton("7"),
new JButton("8"),new JButton("9"),new JButton("+"),new JButton("-"),
new JButton("/"),new JButton("*"),new JButton("=")
};
//utilizamos
un for each para cargar los botones en
la lamina y poner a la escucha los botones
int n=0;
for (JButton i:Botones_Calculo) {
Panel.add(Botones_Calculo[n]);
Botones_Calculo[n].addActionListener(this);
n++;
}
add(Panel,BorderLayout.CENTER);
}
//declaramos
las variables fuera de la case para utilizarlas
en ActionListener
JPanel Panel;
JTextField cuadro_texto;
public void actionPerformed(ActionEvent e) {
//obtenemos
el texto del botón getActionCommand()
String entrada = e.getActionCommand();
//discriminamos
los botones + - / …
if (entrada !="+" && entrada !="-" && entrada !="/" && entrada !="*" && entrada !="=")
cuadro_texto.setText(entrada);
}
}
Bueno parece que la calculadora va cogiendo forma, la iremos mejorando poco a poco:
Espero que os guste. Muchas gracias todos/as
No hay comentarios:
Publicar un comentario