package uniandes.cupi2.crucero.interfaz; import java.*; import java.awt.*; import javax.swing.Icon; import javax.swing.JFrame; import javax.swing.JOptionPane; import uniandes.cupi2.crucero.mundo.Crucero; import uniandes.cupi2.crucero.mundo.Destino; class InterfazCrusero extends JFrame { private InterfazCrusero interfazCrusero; private PanelDestino panelDestino; private PanelOpcion panelOpcion; private PanelTitulo panelTitulo; private Crucero crusero; public InterfazCrusero() { try{ setTitle("Cruseros Cupi2"); setSize(700, 550); setForeground(Color.blue); panelTitulo = new PanelTitulo(); panelTitulo.setSize(600, 100); add(panelTitulo, BorderLayout.NORTH); panelDestino = new PanelDestino(); add(panelDestino, BorderLayout.CENTER); panelOpcion = new PanelOpcion(); add(panelOpcion, BorderLayout.SOUTH); }catch(Exception e){ String mensaje=e.getMessage(); JOptionPane.showMessageDialog(this, mensaje, "Error", JOptionPane.ERROR_MESSAGE); } } public static void main(String[] args) { InterfazCrusero ventana = new InterfazCrusero(); ventana.setVisible(true); } public Destino darDestino(){ return crusero.darDestinoActual(); } public Icon imagenAnterior()throws Exception{ return crusero.darImagenAnteriorDelDestinoActual().darImagen(); } public Icon imagenSiguiente()throws Exception{ return crusero.darImagenSiguienteDelDestinoActual().darImagen(); } public Icon imagenActual() throws Exception{ return crusero.darImagenDestinoActual().darImagen(); } public Destino destinoActual(){ return crusero.darDestinoActual(); } public void reqFuncOpcion1( ){ String mensaje=crusero.metodo1(); JOptionPane.showMessageDialog(this,mensaje, "Respuesta", JOptionPane.INFORMATION_MESSAGE); } public void reqFuncOpcion2( ){ String mensaje=crusero.metodo2(); JOptionPane.showMessageDialog(this, mensaje, "repuesta",JOptionPane.INFORMATION_MESSAGE); } } private JButton butImgAnte; private JButton butImssig; private InterfazCrusero principal; private PanelDestino panelDestino; private PanelOpciones panelOpciones; public PanelDestino(){ TitledBorder border=BorderFactory.createTitledBorder("Imagenes del destino"); setBorder(border); lblReferencia=new JLabel (principal.destinoActual().darPais()+"-"+principal.destinoActual().darCiudad()); add(lblReferencia ,BorderLayout.NORTH); lblImagen=new JLabel (""); lblImagen.setIcon(darFoto()); lblImagen.setPreferredSize(new Dimension(300,250)); add(lblImagen,BorderLayout.CENTER); butImgAnte=new JButton (IMAGEN_ANTERIOR); butImgAnte.setActionCommand(IMAGEN_ANTERIOR); butImgAnte.addActionListener(this); butImgAnte.setPreferredSize(new Dimension(100,100)); add(butImgAnte,BorderLayout.EAST); butImssig=new JButton (IMAGEN_SIGUIENTE); butImssig.setActionCommand(IMAGEN_SIGUIENTE); butImssig.addActionListener(this); butImssig.setPreferredSize(new Dimension(100,100)); add(butImssig,BorderLayout.EAST); vacio=new JLabel (); add(vacio); panelOpciones = new PanelOpciones(); panelOpciones.setSize(400, 200); add(panelOpciones, BorderLayout.SOUTH); } public Icon darFoto() { try{ return principal.imagenActual(); }catch (Exception e){ JOptionPane.showMessageDialog(this,e.getMessage() , "Error", JOptionPane.ERROR_MESSAGE); return null; } } public void actionPerformed( ActionEvent e ){ String d =e.getActionCommand(); try{ if(d.equals(IMAGEN_ANTERIOR )) { lblImagen.setIcon(principal.imagenAnterior()); } else if(d.equals(IMAGEN_SIGUIENTE)){ lblImagen.setIcon(principal.imagenSiguiente()); } }catch (Exception a){ String mensaje=a.getMessage(); JOptionPane.showMessageDialog(this, mensaje, "INFORMACION", JOptionPane.INFORMATION_MESSAGE); } } }