Foro de elhacker.net

Programación => Java => Mensaje iniciado por: brax sp en 25 Noviembre 2018, 22:17 pm



Título: Añadir una nueva propiedad a un componente de JAVA (JcomboBox)
Publicado por: 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.


Título: Re: Añadir una nueva propiedad a un componente de JAVA (JcomboBox)
Publicado por: rub'n en 26 Noviembre 2018, 21:41 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
  1. addItem()

Código
  1. package foro;
  2.  
  3. import javax.swing.*;
  4. import java.awt.event.ItemEvent;
  5. import java.util.Arrays;
  6. //rub´n
  7. public class TestJComboBox extends JFrame {
  8.  
  9.    private JComboBox<String> combo = new JComboBox<String>();
  10.  
  11.    public TestJComboBox() {
  12.        fillCombo();
  13.        add(combo);
  14.  
  15.        pack();
  16.        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  17.        setLocationRelativeTo(null);
  18.        setVisible(true);
  19.    }
  20.  
  21.    private void fillCombo() {
  22.        Arrays.asList("","Tabla","Name","Age","Date").forEach( e -> combo.addItem(e));
  23.        //Agregando listener al comboBox
  24.        combo.addItemListener( e -> {
  25.            if(e.getStateChange() == ItemEvent.SELECTED) {
  26.                final String value = e.getItem().toString();
  27.                if(value.equals("Tabla")) {
  28.                    //invocar a metodo que hara la logica de la table o cualquier cosa
  29.                    JOptionPane.showMessageDialog(null,"Tabla");
  30.                }else {
  31.                    JOptionPane.showMessageDialog(null,"Ha seleccionado otro valor " + e.getItem().toString());
  32.                }
  33.            }
  34.        });
  35.  
  36.    }
  37.  
  38.  
  39.    public static void main(String ...blalb) {
  40.        final Runnable runnable = () -> new TestJComboBox();
  41.        runnable.run();
  42.    }
  43. }
  44.