Test Foro de elhacker.net SMF 2.1

Programación => Programación General => 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
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();
   }
}