Как загрузить перечисление JcomboBox из предыдущего выбранного элемента JcomboBox из Enum? JAVA - PullRequest
2 голосов
/ 25 февраля 2020

У меня есть 3 класса enum, и мой JInternalFrame реализует три моих jComboBox.

Это следующие комбинации:

jComboBox comboSubGrupos
comboTipoIndustria comboTipoIndustria
cmboTipoIndustria19SubGrupos comboSubGrupoTipoIndustria19
cmboTipoIndustria1SubGrupos comboSubGrupoTipoIndustria1

Когда выбран индекс comboTipoIndustria, мне нужно, чтобы мои comboSubGrupos принимали значения значений TipoIndustria19SubGrupos.enum.

Если выбран другой индекс, я хочу, чтобы comboSubGrupos принял значение TipoIndustria1SubGrupos.enum

public enum TipoIndustria {

    PROCESAMIENTO_CONSERVACION_DE_ALIMENTOS_BEBIDAS_TABACO("Procesamiento y Conservacíon de alimentos, bebida y tabaco",
            1),
    INDUSTRIA_FRIGORIFICO("Industria frigorífico", 2), PESCA("Pesca", 3), INDUSTRIA_TEXTIL("Industra Textil", 4),
    INDUSTRIA_CUERO_VESTIMENTA_CALZADO("Industrias del Cuero, Vestimenta y Calzado", 5),
    INDUSTRIA_MADERA_CELULOSA_PAPEL("Industria de la Madera, celulosa y papel", 6),
    INDUSTRIA_QUIMICA_FARMACEUTICA("Industria química, del medicamento, farmacéutica, de combustibles y anexos", 7),
    INDUSTRIA_PRUDCTOS_METALICOS_MAQUINARIA_EQUIPO("Industria de productos metálicos, maquinarias y equipo", 8),
    INDUSTRIA_CONSTRUCCION("Industria de la construcción y actividades complementarias", 9),
    COMERCIO_GENERAL("Comercio en general", 10), COMERCIO_MINORISTA("Comercio minorista de la alimentación", 11),
    COMERCIO_MINORISTA_ALIMENTACION("Hoteles, restoranes y bares", 12),
    HOTELES_RESTORANES_BARES("Transporte y almacenamiento", 13),
    TRANSPORTE_Y_ALMACENAMIENTO("Intermediación financiera, seguros y pensiones", 14),
    INTERMEDIACION_FINANCIERA("Servicios de salud y anexos", 15),
    SERVICIOS_SALUD_ENSENIANZA("Servicios de enseñanza", 16), INDUSTRIA_GRAFICA("Industria gráfica", 17),
    SERVICIOS_CULTURALES("Servicios culturales, de esparcimiento y comunicaciones", 18),
    SERVICIOS_PROFESIONALES("Servicios profesionales, técnicos, especializados y aquellos no incluidos en otros grupos",
            19),
    ENTIDADES_GREMIALES("Entidades gremiales, sociales y deportivas", 20), SERVICIO_DOMESTICO("Servicio doméstico", 21),
    GANADERIA("Ganadería, Agricultura y actividades conexas", 22),
    VINIEDOS_FRUTICULTURA(
            "Viñedos, fruticultura, horticultura, floricultura, criaderos de aves, suinos, apicultura y otras actividades",
            23),
    FORESTACION("Forestación (incluído bosques, montes y turberas)", 24);

    private String texto;
    private double grupo; 

    private TipoIndustria(String texto, double grupo) {
        this.texto = texto;
        this.grupo = grupo;
    }

    public String getTexto() {
        return this.texto;
    }

    public double getGrupo() {
        return this.grupo;
    }

    @Override
    public String toString() {
        return texto;
    }
}

Второе перечисление

public enum TipoIndustria19SubGrupos {

    DESPACHANTE_ADUANA("Despachantes de Aduana",1),
    EMPRESAS_SUMINISTRADORAS_MANO_OBRA("Personal de edificios de Propiedad Horizontal",2),
    PERSONAL_EDIFICIOS_PROPIEDAD_HORIZONTAL("Informatica",3),
    INFORMATICA("Empresas suministradoras de mano de obra",22);


    private String texto;
    private double subGrupo;

    private TipoIndustria19SubGrupos(String texto, double subGrupo) {
        this.texto = texto;
        this.subGrupo = subGrupo;
    }

    public String getTexto() {
        return this.texto;
    }

    public double getSubGrupo() {
        return this.subGrupo;
    }

    @Override
    public String toString() {
        return texto;
    }
}

Третий класс перечисления

public enum TipoIndustria1SubGrupos {

    INDUSTRIA_LACTEA("Industria Láctea",1.1),
    DISTRIUBUIDORES_PRODUCTOS_LACTEOS("Distribuidores de Productos Lácteos",1.2),
    HELADERIAS_INDUSTRIALES("Heladerías industriales",1.3),
    EMPAQUE_ENVASADO_FRUTAS_LEGUMBRES("Empaque y envasado de frutas, legumbres y hortalizas",2),
    PRODUCCION_HIELO_CAMARAS_FRIO("Producción de hielo y cámaras de frío",3),
    INDUSTRIA_AZUCARERA("Industria azucarera",4),
    MOLINOS_ARROZ("Molinos de arroz",5),
    MOLINOS_DE_TRIGO_HARINAS_FECULAS("Molinos de trigo, harinas, féculas, sal y fábri", 6),
    MOLINOS_DE_TRIGO("Molinos de Trigo",6.1),
    FABRICA_RACIONES("Fábrica de raciones balanceadas",6.2),
    MOLINOS_DE_SAL("Molinos de sal",6.3),
    DULCES_CHOCOLATES_GOLOS("Dulces, chocolates, golosinas, galletitas y alf",7),
    DULCES_CHOCOLATES_GOLOS_GALL("Dulces, chocolates, golosinas, galletitas y alf",7.1),
    FIDEERIAS("Fideerías",7.2),
    PANIFICADORAS_INDUSTRIALES("Panificadoras Industriales",7.3),
    MOLINDOS_DE_YERBA("Molinos de Yerba",7.4),
    MOLINOS_DE_CAFE("Molinos de café y té",7.5),
    ACEITRAS_VEGETAL_ANIMAL("Aceiteras de origen animal o vegetal para uso h",8),
    ACEITERAS("Aceiteras",8.1),
    GRASAS_MARGARINAS("Grasas y margarinas",8.2),
    BEBIDAS_SIN_ALCOHOL_CERVEZAS("Bebidas sin alcohol y cervezas",9.1),
    MALTERIAS("Malterías",9.2),
    LICORERIAS("Licorerías",10),
    BODEGAS("Bodegas",11),
    FABRICACION_HELADOS_PANADERIAS_CON_PLANTA_ELABORACION("Fabricación de helados, panaderías y con plantas de elaboración",12),
    PANADERIAS_CONFITERIAS_PLANTA_DE_ELABORACION("Panaderías y confiterías con planta de elaboración",12.1),
    FABRICA_PASTAS("Fábricas de Pastas",12.2),
    CATERING_INDUSTRIAL("Catering industrial",12.3),
    TABACOS_CIGARRILLOS("Tabacos y cigarrillos",13),
    TABACOS_Y_CIGARRILLOS("Tabacos y cigarrillos",13.1),
    PLANTAS_DE_ACOPIO("Plantas de acopio y proc. de hojas de tabaco",13.2);





    private String texto;
    private double subGrupo;

    private TipoIndustria1SubGrupos(String texto, double subGrupo) {
        this.texto = texto;
        this.subGrupo = subGrupo;

    }

    public String getTexto() {
        return this.texto;
    }

    public double getSubGrupo() {
        return this.subGrupo;
    }

    @Override
    public String toString() {
        return texto;
    }

}

Это Мой WindowAplicattion Frame

public class VentanaEmpresa extends JInternalFrame implements IVentanaEmpresa {

    private TipoIndustria tipoIndustria;
    private TipoIndustria19SubGrupos tipoIndustria19;

    private JTextField txtRazonSocial;
    private JTextField txtDireccion;
    private JTextField txtLocalidad;
    private JTextField txtRuc;
    private JTextField txtLocal;

    private JLabel lblDatosGeneralesDe;
    private JLabel lblRazonSocial;
    private JLabel lblRuc;
    private JLabel lblDireccion;
    private JLabel lblTipoIndustria;
    private JLabel lblSubGrupo;
    private JLabel lblLocal;
    private JLabel lblLocalidad;

    private JComboBox comboSubGrupos;
    private ComboTipoIndustria comboTipoIndustria;
    private ComboTipoIndustria19SubGrupos comboSubGrupoTipoIndustria19;
    private ComboTipoIndustria1SubGrupos comboSubGrupoTipoIndustria1;

    private JButton btnGuardar;
    private JButton btnSalir;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    VentanaEmpresa frame = new VentanaEmpresa();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public VentanaEmpresa() {
        setTitle("EMPRESA");
        setBounds(100, 100, 772, 356);
        getContentPane().setLayout(null);

        getContentPane().add(getLblDatos());
        getContentPane().add(getLblRazonSocial());
        getContentPane().add(getLblRazonSocial());
        getContentPane().add(getLblRuc());
        getContentPane().add(getLblDireccion());
        getContentPane().add(getLblTipoIndustria());
        getContentPane().add(getLblSubGrupo());
        getContentPane().add(getLblLocal());
        getContentPane().add(getLblLocalidad());

        getContentPane().add(getComboSubGrupos());
        getContentPane().add(getComboTipoIndustria());

        getContentPane().add(getTxtLocalidad());
        getContentPane().add(getTxtRazonSocial());
        getContentPane().add(getTxtDireccion());
        getContentPane().add(getTxtRuc());
        getContentPane().add(getTxtLocal());

        getContentPane().add(getBtnGuardar());
        getContentPane().add(getBtnSalir());

    }

    private JLabel getLblDatos() {
        if (lblDatosGeneralesDe == null) {
            lblDatosGeneralesDe = new JLabel("DATOS GENERALES DE LA EMPRESA");
            lblDatosGeneralesDe.setBounds(279, 11, 191, 21);
        }
        return lblDatosGeneralesDe;
    }

    private JLabel getLblRazonSocial() {
        if (lblRazonSocial == null) {
            lblRazonSocial = new JLabel("RAZON SOCIAL:");
            lblRazonSocial.setBounds(10, 58, 90, 21);

        }

        return lblRazonSocial;
    }

    private JLabel getLblRuc() {
        if (lblRuc == null) {
            lblRuc = new JLabel("RUC:");
            lblRuc.setBounds(400, 58, 70, 21);

        }

        return lblRuc;
    }

    private JLabel getLblDireccion() {
        if (lblDireccion == null) {
            lblDireccion = new JLabel("DIRECCION:");
            lblDireccion.setBounds(10, 159, 90, 21);

        }
        return lblDireccion;
    }

    private JLabel getLblTipoIndustria() {
        if (lblTipoIndustria == null) {
            lblTipoIndustria = new JLabel("TIPO INDUSTRIA:");
            lblTipoIndustria.setBounds(10, 211, 100, 21);

        }
        return lblTipoIndustria;
    }

    private ComboTipoIndustria getComboTipoIndustria() {
        if (comboTipoIndustria == null) {
            comboTipoIndustria = new ComboTipoIndustria();
            comboTipoIndustria.setBounds(120, 212, 223, 20);
        }
        return comboTipoIndustria;
    }

    private JComboBox getComboSubGrupos() {
        if (comboSubGrupos == null) {
            comboSubGrupos = new ComboTipoIndustria19SubGrupos();
            comboSubGrupos.setBounds(482, 211, 166, 21);
            comboSubGrupos.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {

                }
            });
        }
        return comboSubGrupos;
    }

    private JLabel getLblSubGrupo() {
        if (lblSubGrupo == null) {
            lblSubGrupo = new JLabel("SUBGRUPO:");
            lblSubGrupo.setBounds(400, 211, 70, 21);

        }
        return lblSubGrupo;
    }

    private JLabel getLblLocal() {
        if (lblLocal == null) {
            lblLocal = new JLabel("LOCAL:");
            lblLocal.setBounds(400, 113, 58, 21);

        }
        return lblLocal;
    }

    private JLabel getLblLocalidad() {
        if (lblLocalidad == null) {
            lblLocalidad = new JLabel("LOCALIDAD:");
            lblLocalidad.setBounds(10, 109, 90, 21);

        }
        return lblLocalidad;
    }

    private JTextField getTxtRazonSocial() {
        if (txtRazonSocial == null) {
            txtRazonSocial = new JTextField();
            txtRazonSocial.setBounds(120, 58, 223, 20);
            txtRazonSocial.setColumns(10);
        }
        return txtRazonSocial;
    }

    private JTextField getTxtDireccion() {
        if (txtDireccion == null) {
            txtDireccion = new JTextField();
            txtDireccion.setBounds(120, 159, 223, 20);
            txtDireccion.setColumns(10);
        }
        return txtDireccion;
    }

    private JTextField getTxtLocalidad() {
        if (txtLocalidad == null) {
            txtLocalidad = new JTextField();
            txtLocalidad.setBounds(120, 109, 223, 20);
            txtLocalidad.setColumns(10);
        }
        return txtLocalidad;
    }

    private JTextField getTxtRuc() {
        if (txtRuc == null) {
            txtRuc = new JTextField();
            txtRuc.setColumns(10);
            txtRuc.setBounds(480, 58, 223, 20);

        }
        return txtRuc;
    }

    private JTextField getTxtLocal() {
        if (txtLocal == null) {
            txtLocal = new JTextField();
            txtLocal.setColumns(10);
            txtLocal.setBounds(480, 113, 70, 20);

        }
        return txtLocal;
    }

    private JButton getBtnGuardar() {
        if (btnGuardar == null) {
            btnGuardar = new JButton("GUARDAR");
            btnGuardar.setBounds(254, 292, 89, 23);

        }
        return btnGuardar;
    }

    private JButton getBtnSalir() {
        if (btnSalir == null) {
            btnSalir = new JButton("SALIR");
            btnSalir.setBounds(400, 292, 89, 23);

        }
        return btnSalir;
    }

    // getters for IGUI

    public TipoIndustria getTipoIndustria() {
        return getComboTipoIndustria().getTipoIndustriaItemSeleccionado();
    }
}
...