calculadora java de 16 botones (para escribir usando un bucle for) código fuente
Escrito por mí, para su referencia import java.awt.BorderLayout;
import java.awt.FlowLayout
import java.awt.GridLayout; /p>
importar java.awt.event.ActionEvent;
importar java.awt.event.ActionListener;
importar javax.swing.JButton;
importar javax.swing.JFrame;
importar javax.swing.JPanel;
importar javax.swing.JTextField; la clase pública Counter implementa ActionListener{ /**
* @param args
*/
marco JFrame privado
campo JTextField privado
JButton privado clear_but; /p>
botones JButton[] privados
String str="123 456-789*0.=/"
contador público() {
frame=new JFrame("Calculadora t\t\t\t\t\t\t");
field=new JTextField(15);
clear_but= nuevo JButton("C");
botones=nuevo JButton[25];
for(int i=0; ilt; str.length(); i )
{
botones[i]=new JButton(str.substring(i, i 1));
}
campo. "");
}
init vacío privado(){
addEventHandler()
frame.setLayout(new BorderLayout(); ));
JPanel n_panel=nuevo JPanel();
JPanel c_panel=nuevo JPanel();
n_panel.setLayout(nuevo FlowLayout() );
frame.add(n_panel, BorderLayout.NORTH);
n_panel.add(field);
n_panel.add(clear_but);
p>
c_panel.setLayout(new GridLayout(4, 4));
for(int i=0; ilt; 16; i)
{
c_panel.add(botón
ns[i]);
}
frame.add(c_panel, BorderLayout.CENTER);
}
showMe vacío público); (){
init();
frame.setSize(300, 240
//frame.pack(); (400, 360);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); > privado vacío addEventHandler(){
//clear_but.addActionListener(new MyActionListener());
clear_but.addActionListener(new ActionListener(){
público void actionPerformed(ActionEvent e) {
field.setText("");
}
}); i=0; ilt; 16; i )
{
final int = i;
botones[i].addActionListener(this); p>
p>
// @Override
// public void actionPerformed(ActionEvent e) {
// System.out.print(e.getActionCommand( ));
p>// //System.out.print(str.substring(en, en 1)); //
}
}
Cadena num=""
Cadena bandera=""; > //@Override p>
public void actionPerformed(ActionEvent e) {
String str=e.getActionCommand();
if(str.equals(" =")){ p>
Doble a=Double.valueOf(num);
Doble b=Double.valueOf(field.getText());
doble suma=0;
p>
if(flag.equals(" ")){
suma=a b;
campo.setText( suma "");
}
if(flag.equals("-")){
suma=a-b;
fie
ld.setText("" suma);
}
if(flag.equals("*")){
suma=a*b;
field.setText("" suma);
}
if(flag.equals("/")){
suma =a/b;
field.setText("" suma);
}
System.out.println(a bandera b "=" suma) ;
}
else if(".0123456789".indexOf(str)!=-1){
String newtext=field.getText();
nuevotexto = cadena
campo.setText(nuevotexto
//System.out.print(cadena
); }
else if(str.matches("[ *-/]{1}")){
//else if(" -*/".indexOf(str) !=-1){
num=field.getText();
field.setText("");
flag=
// System.out.print(str);
}
}
public static void main(String[] args) {
nuevo Contador().showMe();
}}