Foro de elhacker.net

Programación => Java => Mensaje iniciado por: enon en 10 Diciembre 2021, 04:16 am



Título: Cambiar color JLabel en java
Publicado por: enon en 10 Diciembre 2021, 04:16 am
Necesito saber una forma de cambiar el color de fondo de una etiqueta, luego de una eleccion de un combobox, ya utilize la opcion del switch, y dentro de esto cambie el color con  background, pero en el programa se me pide que si se selecciona de nuevo tiene que volver a cambiar a otro color, y no se como lo puedo hacer


Título: Re: Cambiar color JLabel en java
Publicado por: sapito169 en 12 Diciembre 2021, 06:05 am
mmm estoy ocidado

 
Código
  1.  
  2. package swing.comboexample;
  3.  
  4. import java.util.logging.Logger;
  5.  
  6. import javax.swing.Action;
  7. import javax.swing.JComboBox;
  8. import javax.swing.JFrame;
  9. import java.awt.FlowLayout;
  10. import java.awt.Color;
  11.  
  12. import java.awt.event.ActionEvent;
  13. import java.beans.PropertyChangeListener;
  14.  
  15. import javax.swing.JLabel;
  16. import javax.swing.JOptionPane;
  17. import javax.swing.text.AttributeSet.ColorAttribute;
  18. public class HelloWorld extends JFrame{
  19.  
  20.    public static void main(String... args) {
  21. HelloWorld helloWorld = new HelloWorld();
  22. helloWorld.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  23. JComboBox<String> cboColor = new JComboBox<String>();
  24. cboColor.addItem("rojo");
  25. cboColor.addItem("verde");
  26. cboColor.addItem("azul");
  27. JLabel lblPrincipal = new JLabel("hola");
  28. lblPrincipal.setOpaque(true);
  29. cboColor.addActionListener(p->{
  30. int index = cboColor.getSelectedIndex();
  31.  
  32. switch (index) {
  33. case 1:
  34. lblPrincipal.setBackground(Color.RED);
  35. break;
  36. case 2:
  37. lblPrincipal.setBackground(Color.GREEN  );
  38. break;
  39.  
  40. case 3:
  41. lblPrincipal.setBackground(Color.BLUE);
  42. break;
  43.  
  44. }
  45. } );
  46. helloWorld.getContentPane().setLayout( new FlowLayout() );
  47. helloWorld.getContentPane().add(cboColor);
  48.  
  49. helloWorld.getContentPane().add(lblPrincipal);
  50. helloWorld.setLocationRelativeTo(null);
  51. helloWorld.pack();
  52. helloWorld.setVisible(true);
  53. }
  54.  
  55.  
  56. }
  57.