Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/05/2016, 10:04
Avatar de NeoChiri
NeoChiri
 
Fecha de Ingreso: mayo-2016
Mensajes: 4
Antigüedad: 8 años, 6 meses
Puntos: 0
Llenar una ventana a partir de otra al abrirla

Tengo dos ventanas que podréis ver en una imagen más adelante.



Código de `VistaArtistasBuscar`:

* *
Código:
public class VistaArtistasBuscar extends JFrame implements ActionListener{

	/**
	 * Componentes de la ventana 
	 */	
	private Coordinador miCoordinador;
	private JTextField campoTextoArtista, campoTextoArtista2;
	private JLabel etiquetaNombreArtista, etiquetaNombreArtista2, etiquetaNombreAlbumes;
	private JButton botonBuscar, botonEliminar, botonModificar, botonSeleccionar;
	private JList listadoAlbumes;
	private DefaultListModel modeloLista;
	private JSeparator separador;
	private JScrollPane scrollListadoAlbumes;
	private Generador miGenerador;
	
	/**
	 * Iniciamos la ventana.
	 */
	public VistaArtistasBuscar() {
		iniciarVentana();
	}

	/**
	 * Contenido de la ventana
	 */
	private void iniciarVentana() {
		
		/*Propiedades Frame*/
		setTitle("Artistas: Buscar");
		setBounds(200, 100, 450, 337);
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		getContentPane().setLayout(null);
		setLocationRelativeTo(null);
		setResizable(false);
		
		/*Etiqueta nombre Artista I*/
		etiquetaNombreArtista = new JLabel("Nombre:");
		etiquetaNombreArtista.setFont(new Font("Tahoma", Font.PLAIN, 14));
		etiquetaNombreArtista.setBounds(10, 6, 68, 22);
		
		/*Campo texto Artista I*/
		campoTextoArtista = new JTextField();
		campoTextoArtista.setBounds(78, 6, 259, 22);
		campoTextoArtista.setColumns(10);
		
		/*Boton Buscar*/
		botonBuscar = new JButton("Buscar");
		botonBuscar.setBounds(347, 6, 77, 23);
		botonBuscar.addActionListener(this);
		getContentPane().setLayout(null);
		getContentPane().add(etiquetaNombreArtista);
		getContentPane().add(campoTextoArtista);
		getContentPane().add(botonBuscar);
		
		/*Etiqueta nombre Artista II*/
		etiquetaNombreArtista2 = new JLabel("Nombre:");
		etiquetaNombreArtista2.setFont(new Font("Tahoma", Font.PLAIN, 14));
		etiquetaNombreArtista2.setBounds(10, 56, 68, 14);
		getContentPane().add(etiquetaNombreArtista2);
		
		/*Campo texto Artista II*/
		campoTextoArtista2 = new JTextField();
		campoTextoArtista2.setBounds(82, 55, 241, 20);
		getContentPane().add(campoTextoArtista2);
		campoTextoArtista2.setColumns(10);
		
		/*Boton Eliminar*/
		botonEliminar = new JButton("Eliminar");
		botonEliminar.setBounds(234, 92, 89, 23);
		botonEliminar.addActionListener(this);
		getContentPane().add(botonEliminar);
		
		/*Boton Modificar*/
		botonModificar = new JButton("Modificar");
		botonModificar.setBounds(135, 92, 89, 23);
		botonModificar.addActionListener(this);
		getContentPane().add(botonModificar);
		
		/*Etiqueta Albumes*/
		etiquetaNombreAlbumes = new JLabel("Albumes:");
		etiquetaNombreAlbumes.setFont(new Font("Tahoma", Font.PLAIN, 14));
		etiquetaNombreAlbumes.setBounds(10, 134, 89, 14);
		getContentPane().add(etiquetaNombreAlbumes);
		
		/*Boton Seleccionar*/
		botonSeleccionar = new JButton("Seleccionar");
		botonSeleccionar.setBounds(335, 265, 89, 23);
		botonSeleccionar.addActionListener(this);
		getContentPane().add(botonSeleccionar);
		
		/*Separador*/
		separador = new JSeparator();
		separador.setBounds(0, 39, 434, 2);
		getContentPane().add(separador);
		
		/*Scroll para el listado de los Artistas*/
		scrollListadoAlbumes = new JScrollPane();
		listadoAlbumes = new JList();
		modeloLista=new DefaultListModel();
		scrollListadoAlbumes.setBounds(10, 154, 306, 135);
		getContentPane().add(scrollListadoAlbumes);
		scrollListadoAlbumes.setViewportView(listadoAlbumes);
		
	}
	
	/**
	 * Relacionamos esta clase con el Coordinador
	 */
	
	public void setCoordinador(Coordinador miCoordinador){
		this.miCoordinador=miCoordinador;
	}

	/**
	 * Clase que maneja todos los eventos que ocurren en la ventana
	 */
	
	@Override
	public void actionPerformed(ActionEvent evento) {
		
		if(evento.getSource()==botonBuscar){
			
			try{
			ArtistaDAO artistaDAO=new ArtistaDAO();
			ArtistaVO artistaVO=new ArtistaVO();
			miGenerador=new Generador();
			
			artistaVO.setNombreArtista(campoTextoArtista.getText());
			artistaDAO.buscarArtista(artistaVO);
				if(artistaDAO.buscarArtista(artistaVO)!=null){
					mostrarArtista(artistaVO);
					miGenerador.llenarListaAlbumes(artistaVO, modeloLista, listadoAlbumes, artistaDAO);
				}else{
				JOptionPane.showMessageDialog(null, "El artista no existe", "Error", JOptionPane.ERROR_MESSAGE);
				}
			}catch(Exception excepcion){
				excepcion.printStackTrace();
			}
			
		}
		
		if(evento.getSource()==botonModificar){
			try{
				ArtistaVO artistaVO=new ArtistaVO();
				ArtistaDAO artistaDAO=new ArtistaDAO();
				String nuevoNombre=campoTextoArtista2.getText();
				artistaVO.setNombreArtista(campoTextoArtista.getText());
				artistaDAO.modificarArtista(artistaVO, nuevoNombre);
			}catch(Exception excepcion){
				excepcion.printStackTrace();
			}
		}
		
		if(evento.getSource()==botonEliminar){
			if(!campoTextoArtista2.getText().equals("")){
				int respuesta=JOptionPane.showConfirmDialog(this, "¿Estás seguro que deseas eliminar el Artista?", "Confirmacion", JOptionPane.YES_NO_OPTION);
				if(respuesta==JOptionPane.YES_OPTION){
					ArtistaDAO artistaDAO=new ArtistaDAO();
					ArtistaVO artistaVO=new ArtistaVO();
					AlbumVO albumVO=new AlbumVO();
					
					albumVO.setNombreAlbum(listadoAlbumes.getSelectedValue().toString());
					artistaVO.setNombreArtista(campoTextoArtista2.getText());
					artistaDAO.eliminarArtista(artistaVO, artistaDAO, albumVO);
					limpiar();
					modeloLista.removeAllElements();
				}
			}
		}
		
		if(listadoAlbumes.getSelectedIndex()>=0&&evento.getSource()==botonSeleccionar){
			VistaAlbumesBuscar ventanaAlbumBuscar=new VistaAlbumesBuscar();
			
			ventanaAlbumBuscar.setVisible(true);
			ventanaAlbumBuscar.abrirVentana(campoTextoArtista2, modeloLista, listadoAlbumes);
			
		}else if(evento.getSource()==botonSeleccionar){
			JOptionPane.showMessageDialog(null, "Debes elegir un Album de la lista","Información",JOptionPane.INFORMATION_MESSAGE);
		}
		
		
		
	}
	
	/**
	 * Establecemos el contenido del Campo texto tras la búsqueda
	 */
	
	private void mostrarArtista(ArtistaVO artistaVO){
		campoTextoArtista2.setText(artistaVO.getNombreArtista());
	}
	
	
	private void limpiar(){
		campoTextoArtista.setText("");
		campoTextoArtista2.setText("");
	}
	
	
 * *}