Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Norlak en 25 Abril 2012, 09:45 am



Título: Como cambiar el colo de un JButton al presionarlo
Publicado por: Norlak en 25 Abril 2012, 09:45 am
Muy buenas  a todos, pues tengo ese problema, no logro controlar que cuando pulso un boton se cambie de color mi codigo es

Citar
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import java.awt.*;
import java.util.ArrayList;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.event.*;


public class botonPrinci extends JFrame implements ActionListener{

   /**
    *
    */


   private JPanel contentPane;
   
   private ArrayList<JButton> botones;
   
   private JButton boton;

   public botonPrinci() {

      
      
      
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setBounds(100, 100, 800, 600);
      contentPane = new JPanel();
      contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
      setContentPane(contentPane);
      contentPane.setLayout(null);
      
      this.creaVentana();
      this.setVisible(true);
   
   }
   
   
   public void creaVentana(){
      
      botones=new ArrayList<JButton>();
      
      int cordx=50;
      
      
      
      
      for (int i=0;i<10;i++){
         
      Integer   numero=i+1;      
         
      
         JButton boton = new JButton(numero.toString());
         boton.setBounds(cordx, 200, 60, 50);
         botones.add(boton);
         contentPane.add(boton);
         boton.addActionListener(this);
         cordx=cordx+60;
         
         
      
         
         
      }
      
      
   }
   
   
   
   

   public void actionPerformed(ActionEvent e) {
      // TODO Auto-generated method stub
      
      
      if (e.getSource()==boton) {
         boton.setBackground(Color.yellow);
         boton.setEnabled(false);
       }
      
      
      
      
      
      
   
      
   }


   
   
}


se que es mucho poner todo el codigo y demas pero por si me podeis orientar un poco he googleado pero no he encontrado lo que necesitaba o no me funciona...

De ante mano muchas gracias a todos


Título: Re: Como cambiar el colo de un JButton al presionarlo
Publicado por: raul_samp en 26 Abril 2012, 14:15 pm
No me voy a meter con tu estilo de programación (aunque sea evidentemente nulo), pero por lo menos por lo menos si vas a subir código ponlo en eclipse selecciona todo y dale a Ctrl+Mayus+f.

Y después de esto el actionPerformed que tu quieres implementar es este:

Código
  1.  
  2. public void actionPerformed(ActionEvent e) {
  3. JButton botonPulsado = (JButton) e.getSource();
  4. botonPulsado.setBackground(Color.yellow);
  5. botonPulsado.setEnabled(false);
  6.  
  7. }
  8.  

PD: Para que quede así de bonito en vez de la etiqueta code, por favor usad code=java