Añadir una nueva propiedad a un componente de JAVA (JcomboBox)

Iniciado por brax sp, 25 Noviembre 2018, 22:17 PM

0 Miembros y 1 Visitante están viendo este tema.

brax sp

Buenas tardes amigos, el día de hoy me encontrado con un obstáculo para desarrollar una interfaz.

El JComBox ya tiene algunas propiedades predefinidas con los de la imagen https://drive.google.com/open?id=1MyCjlGCsfqTr0iekQ832TUSHVPzqPhqS , en mi caso deseo agregar una propiedad extra la cual pondré como nombre "TABLA".

Y la segunda pregunta, ¿como puedo dar funciones al momento de seleccionar la nueva propiedad ?

¿Es posible hacer esto?, en el caso que se pueda, me podrían dar algún tipo de orientación.

rub'n

#1
Cita de: brax sp en 25 Noviembre 2018, 22:17 PM
Buenas tardes amigos, el día de hoy me encontrado con un obstáculo para desarrollar una interfaz.

El JComBox ya tiene algunas propiedades predefinidas con los de la imagen https://drive.google.com/open?id=1MyCjlGCsfqTr0iekQ832TUSHVPzqPhqS , en mi caso deseo agregar una propiedad extra la cual pondré como nombre "TABLA".

Y la segunda pregunta, ¿como puedo dar funciones al momento de seleccionar la nueva propiedad ?

¿Es posible hacer esto?, en el caso que se pueda, me podrían dar algún tipo de orientación.

Hola,

claro que se puede un ejemplo, debes agregar un ítem a tu JComboBox, veo que usas netbeans, puedes buscar esa variable de instancia y añadir el addItemListener al JComboBox


la linea 22 llena el combo con Items usando el método de instancia

Código (java) [Seleccionar]
addItem()

Código (java) [Seleccionar]
package foro;

import javax.swing.*;
import java.awt.event.ItemEvent;
import java.util.Arrays;
//rub´n
public class TestJComboBox extends JFrame {

   private JComboBox<String> combo = new JComboBox<String>();

   public TestJComboBox() {
       fillCombo();
       add(combo);

       pack();
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       setLocationRelativeTo(null);
       setVisible(true);
   }

   private void fillCombo() {
       Arrays.asList("","Tabla","Name","Age","Date").forEach( e -> combo.addItem(e));
       //Agregando listener al comboBox
       combo.addItemListener( e -> {
           if(e.getStateChange() == ItemEvent.SELECTED) {
               final String value = e.getItem().toString();
               if(value.equals("Tabla")) {
                   //invocar a metodo que hara la logica de la table o cualquier cosa
                   JOptionPane.showMessageDialog(null,"Tabla");
               }else {
                   JOptionPane.showMessageDialog(null,"Ha seleccionado otro valor " + e.getItem().toString());
               }
           }
       });

   }


   public static void main(String ...blalb) {
       final Runnable runnable = () -> new TestJComboBox();
       runnable.run();
   }
}


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen