Foros del Web » Programación para mayores de 30 ;) » Java »

Error en Calculadora con ActionListener

Estas en el tema de Error en Calculadora con ActionListener en el foro de Java en Foros del Web. Buenas! estoy iniciandome en swing y tengo un problema del cual no encuentro solución y no encuentro un porque :( la calculadora que he montado ...
  #1 (permalink)  
Antiguo 17/04/2014, 05:18
 
Fecha de Ingreso: enero-2005
Mensajes: 85
Antigüedad: 19 años, 9 meses
Puntos: 0
Error en Calculadora con ActionListener

Buenas! estoy iniciandome en swing y tengo un problema del cual no encuentro solución y no encuentro un porque :(

la calculadora que he montado queda tal que asi;

http://www.mundobalonmano.com/pruebas/calcu.jpg

Pero cuando le doy a uno de los botones que he configurado para escuchar:

http://www.mundobalonmano.com/pruebas/ca.jpg

Me aparece esta imagen arriba y se descoloca todo, ademas si sigo dando a otros botones se montan los numeros uno dentro de otro, no entiendo porque ya que en el performed hago lo basico:

Código PHP:
@Override
    
public void actionPerformed(ActionEvent a) {
        if(
a.getActionCommand().equals("bot5")){
            
label.setText("7");
        }else if(
a.getActionCommand().equals("bot6")){
            
label.setText("8");
        }else if(
a.getActionCommand().equals("bot7")){
            
label.setText("9");
        }
        
    } 
Que puedo estar haciendo mal?

este es el código completo:

Código PHP:
package calculadora;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class 
Calculadora extends JFrame implements ActionListener{

    private 
ImagenPanel general;
    private 
JPanel lcd;
    private 
JPanel calculadora;
    private 
BotonImagen boton;
    private 
JLabel label;
    private 
JLabel labelResultado;
    private 
ImageIcon icono;
    
    
    public 
Calculadora(String titulo){
        
super(titulo);
    }
    
    public 
void mostrar(){
        
        
setSize(615,470);
        
icono = new ImageIcon(this.getClass().getResource("fondo.png"));
        
general = new ImagenPanel(icono.getImage());
        
add(general);
        
lcd = new JPanel();
        
lcd.setLayout(new GridLayout(2,0,0,-30));
        
lcd.setBackground(new Color(0000));
//        Border borde = BorderFactory.createLineBorder(Color.RED, 2);
//        lcd.setBorder(borde);
        
lcd.setPreferredSize(new Dimension(500,104));
        
calculadora = new JPanel();
        
calculadora.setBackground(new Color(0000));
        
calculadora.setPreferredSize(new Dimension(540,300));
        
calculadora.setLayout(new GridLayout(5,4,5,0));
        
        
general.add(lcd);
        
general.add(calculadora);
        
        
label = new JLabel("");
        
label.setFont(new Font("Dash Dot LCD-7",10,20));
        
label.setHorizontalAlignment(JLabel.RIGHT);
        
//label.setBounds(500, 10, 500, 50);
        
lcd.add(label);
        
labelResultado = new JLabel("14");
        
labelResultado.setFont(new Font("Dash Dot LCD-7",80,50));
        
labelResultado.setHorizontalAlignment(JLabel.RIGHT);
        
lcd.add(labelResultado);
        
        for(
int i 1i<=20;i++){
        
boton = new BotonImagen(new ImageIcon(this.getClass().getResource("/tech/"+i+".jpg")));
        
boton.setRolloverIcon(new ImageIcon(this.getClass().getResource("/tech/botonOver.jpg")));
        
boton.addActionListener(this);
        
boton.setActionCommand("bot"+i);
        
calculadora.add(boton);
        }
        
    
        
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
setVisible(true);
        
setLocationRelativeTo(null);
    
    
    
    }

    @
Override
    
public void actionPerformed(ActionEvent a) {
        if(
a.getActionCommand().equals("bot5")){
            
label.setText("7");
        }else if(
a.getActionCommand().equals("bot6")){
            
label.setText("8");
        }else if(
a.getActionCommand().equals("bot7")){
            
label.setText("9");
        }
        
    }

__________________
Videos Graciosos

Etiquetas: actionlistener, calculadora
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.