15/05/2016, 10:04
|
| | | 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("");
}
* *}
|