public void Show() {	
		JButton btnAlta = new JButton("Alta");
		hayUnaVentanaAbierta = false;
		
		//action listener Alta
		btnAlta.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				if(!hayUnaVentanaAbierta){
					try {
						hayUnaVentanaAbierta = true;
						ventanaAltaModif.inicializar();
						ventanaAltaModif.reAbrir(-1,filtrado);
//						frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
						ventanaAltaModif.addWindowListener( new WindowAdapter() {
		                    @Override
		                    public void windowClosing(WindowEvent we) {
		                    	hayUnaVentanaAbierta = false;
		                    }
		                } );
						ventanaAltaModif.addComponentListener ( new ComponentAdapter ()
					    {
					        public void componentShown ( ComponentEvent e )
					        {
					            System.out.println ( "Component shown" );
					        }

					        public void componentHidden ( ComponentEvent e )
					        {
					        	hayUnaVentanaAbierta = false;
					        	LinkedList listaLtB = (LinkedList)ventanaAltaModif.listaLabelsTxtsBoxes;
					        	for (Object par : listaLtB){
					        		((ParLabelTxtBox)par).txtInputCampo.enable();
					        	}
					        	refreshear();
					        }
					    } );
					} catch (Exception e) {
						e.printStackTrace();
					}
				}
				
				
			}
		});
		//action listener baja
		final Ventana_principal self = this;
		JButton btnBaja = new JButton("Baja");
		btnBaja.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				
				if(table.getSelectedRow() != -1){
					objetoImple.eliminarElemento(table.getSelectedRow(),filtrado);
					self.getData();
				}
			}
		});
		
		
		
		//action listener modificar
		JButton btnModificar = new JButton("Modificar");
		btnModificar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				if((!hayUnaVentanaAbierta) && (table.getSelectedRow() != -1)){
					try {
						indexModificando = table.getSelectedRow();
						hayUnaVentanaAbierta = true;
						ventanaAltaModif.inicializar();
						ventanaAltaModif.reAbrir(indexModificando,filtrado);
						ventanaAltaModif.setTxtBoxesModif(objetoImple.obtenerValoresObjeto(table.getSelectedRow(),filtrado));
//						frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
						ventanaAltaModif.addWindowListener( new WindowAdapter() {
		                    @Override
		                    public void windowClosing(WindowEvent we) {
		                    	hayUnaVentanaAbierta = false;
		                    	
		                    }
		                } );
						ventanaAltaModif.addComponentListener ( new ComponentAdapter ()
					    {
					        public void componentShown ( ComponentEvent e )
					        {
					            System.out.println ( "Component shown" );
					        }

					        public void componentHidden ( ComponentEvent e )
					        {
					        	hayUnaVentanaAbierta = false;
					        	refreshear();
					        	indexModificando = -1;
					        }
					    } );
					} catch (Exception e) {
						e.printStackTrace();
					}
				}
				
				
			}
		});
		
		
		
		JLabel lblFiltrarPor = new JLabel("Filtrar por:");
		
		JLabel lblBuscar = new JLabel("Buscar:");
		
		txtBuscar = new JTextField();
		txtBuscar.setColumns(10);
		final JComboBox comboBoxFiltro = new JComboBox();
		comboBoxFiltro.setModel(new DefaultComboBoxModel(this.getListaLabels()));
		//evento press key en el campo buscar
		txtBuscar.addKeyListener(new KeyAdapter() {
            public void keyReleased(KeyEvent e) {
                String ingresado = txtBuscar.getText();
                int indiceSeleccionado = comboBoxFiltro.getSelectedIndex();
                if (ingresado.length() != 0){
                	objetoImple.generarListaFiltrada(indiceSeleccionado, ingresado);
                	filtrado = true;
                } else {
                	filtrado = false;
                }
                refreshear();
            }
 
            public void keyTyped(KeyEvent e) {
                // TODO: Do something for the keyTyped event
            }
 
            public void keyPressed(KeyEvent e) {
                // TODO: Do something for the keyPressed event
            }
        });
		
		
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setHorizontalScrollBar(null);
		GroupLayout gl_contentPane = new GroupLayout(contentPane);
		gl_contentPane.setHorizontalGroup(
			gl_contentPane.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_contentPane.createSequentialGroup()
					.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
						.addGroup(gl_contentPane.createSequentialGroup()
							.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false)
								.addComponent(btnModificar, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
								.addComponent(btnBaja, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
								.addComponent(btnAlta, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
							.addPreferredGap(ComponentPlacement.RELATED)
							.addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 683, Short.MAX_VALUE))
						.addGroup(gl_contentPane.createSequentialGroup()
							.addContainerGap()
							.addComponent(lblFiltrarPor)
							.addPreferredGap(ComponentPlacement.UNRELATED)
							.addComponent(comboBoxFiltro, GroupLayout.PREFERRED_SIZE, 116, GroupLayout.PREFERRED_SIZE)
							.addGap(18)
							.addComponent(lblBuscar)
							.addPreferredGap(ComponentPlacement.RELATED)
							.addComponent(txtBuscar, GroupLayout.DEFAULT_SIZE, 519, Short.MAX_VALUE)))
					.addContainerGap())
		);
		gl_contentPane.setVerticalGroup(
			gl_contentPane.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_contentPane.createSequentialGroup()
					.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
						.addGroup(gl_contentPane.createSequentialGroup()
							.addComponent(btnAlta)
							.addPreferredGap(ComponentPlacement.RELATED)
							.addComponent(btnBaja)
							.addPreferredGap(ComponentPlacement.RELATED)
							.addComponent(btnModificar))
						.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 527, GroupLayout.PREFERRED_SIZE))
					.addPreferredGap(ComponentPlacement.RELATED)
					.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
						.addComponent(lblBuscar)
						.addComponent(txtBuscar, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
						.addComponent(lblFiltrarPor)
						.addComponent(comboBoxFiltro, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
					.addContainerGap())
		);
		model = new DefaultTableModel(getListaLabels(),0){

		    @Override
		    public boolean isCellEditable(int row, int column) {
		       //all cells false
		       return false;
		    }
		};
		table = new JTable(model);
		table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		table.getTableHeader().setReorderingAllowed(false);
		scrollPane.setViewportView(table);
		contentPane.setLayout(gl_contentPane);
		this.setVisible(true);		
	}