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

Remarcar botón desactivado

Estas en el tema de Remarcar botón desactivado en el foro de Java en Foros del Web. Hola a todos, tengo un programa con varios botones en Java, y he creado una funcion para que al pulsar alguno, me deshabilite el resto, ...
  #1 (permalink)  
Antiguo 16/07/2015, 02:55
 
Fecha de Ingreso: octubre-2008
Mensajes: 184
Antigüedad: 15 años, 7 meses
Puntos: 1
Remarcar botón desactivado

Hola a todos,
tengo un programa con varios botones en Java, y he creado una funcion para que al pulsar alguno, me deshabilite el resto, impiendiendo de esta forma que se pulse cualquier otro botón. Pero me gustaía remarcar de alguna forma el botón seleccionado, ya que al desactivarlos todos, no se puede saber a simple vista cual fue el botón pulsado. He probado a cambiar la fuente del botón y algunas cosas así, pero supongo que habrá algo más elegante para estas cosas.

Gracias por vuestro tiempo y saludos!
  #2 (permalink)  
Antiguo 16/07/2015, 03:37
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 5 meses
Puntos: 22
Respuesta: Remarcar botón desactivado

Hola,

yo lo que he visto mucho para el caso de botones... es tener imagenes para los estados de los botones, en función del estado, presentas una imagen u otra.

de todas formas está pregunta te la podrán responder mejor en la sección de css, deberías postear allí.

un saludo.
  #3 (permalink)  
Antiguo 16/07/2015, 05:57
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 10 meses
Puntos: 182
Respuesta: Remarcar botón desactivado

Buenas,

Entiendo que hablas de Java/Swing.

Supongo que habras hecho un grupo(ButtonGroup) de JButton. Por defecto no swing no aporta ninguna decoracion para senalar el boton pulsado, asi que efectivamente tienes que detectarlo y controlarlo tu.
Otra opcion es utilizar un grupo de JToggleButton. Ejemplo rapido:

Código Java:
Ver original
  1. public class JavaButtonGroupExamplePanel extends JPanel {
  2.  
  3.     BorderLayout borderLayout1 = new BorderLayout();
  4.     JPanel jPanel1 = new JPanel();
  5.     JToggleButton button1 = new JToggleButton();
  6.     JToggleButton button2 = new JToggleButton();
  7.     JToggleButton button3 = new JToggleButton();
  8.     ButtonGroup buttons = new ButtonGroup();
  9.  
  10.     public JavaButtonGroupExamplePanel() {
  11.  
  12.         try {
  13.             jbInit();
  14.         } catch (Exception ex) {
  15.             ex.printStackTrace();
  16.         }
  17.         JFrame frame = new JFrame();
  18.         frame.add(this);
  19.         frame.setLocationRelativeTo(null);
  20.         frame.setSize(400, 300);
  21.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  22.         frame.setVisible(true);
  23.     }
  24.  
  25.     void jbInit() throws Exception {
  26.         this.setLayout(borderLayout1);
  27.         jPanel1.setLayout(null);
  28.         button1.setText("Button 1");
  29.         button1.setBounds(new Rectangle(132, 75, 91, 23));
  30.         button2.setText("Button 2");
  31.         button2.setBounds(new Rectangle(132, 100, 91, 23));
  32.         button3.setText("Button 3");
  33.         button3.setBounds(new Rectangle(132, 124, 91, 23));
  34.         this.add(jPanel1, BorderLayout.CENTER);
  35.         jPanel1.add(button1, null);
  36.         jPanel1.add(button2, null);
  37.         jPanel1.add(button3, null);
  38.  
  39.         // this is where the radio buttons are added to the button group
  40.         buttons.add(button1);
  41.         buttons.add(button2);
  42.         buttons.add(button3);
  43.     }
  44.  
  45.     public static void main(String[] args) {
  46.         EventQueue.invokeLater(() -> new JavaButtonGroupExamplePanel());
  47.     }
  48. }



En cualquier caso, para ese tipo de funcionalidad se utilizan generalmente los JRadioButton.

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #4 (permalink)  
Antiguo 16/07/2015, 10:24
 
Fecha de Ingreso: octubre-2008
Mensajes: 184
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Remarcar botón desactivado

Hola a ambos,

gracias por vuestras respuestas. La verdad que preferiría no empezar ahora a meter imágenes, así que esa opción la descarto.

El efecto que muestra el Profesor_Falken es el que estaba buscando. Voy a investigar sobre ese tipo de opción, a ver si puedo aplicarlo a mi boton, para no redefinir el código.

Muchas gracias por la ayuda!

Etiquetas: desactivado, programa
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:45.