package presentacion;
import java.awt.Color;
import java.awt.Font;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.filechooser.FileNameExtensionFilter;
import logica.GeneraFicha;
public class PanMapa extends JPanel {
private JScrollPane scroll;
public JLabel lblMapa;
File fichero;
JFileChooser jfchCargarMapa = new JFileChooser();
JFileChooser jfchCargarFicha = new JFileChooser();
private JButton btnAgregarMap;
private JButton btnCrearFicha;
public JComboBox combo;
private JLabel lbl1;
GeneraFicha lblFicha = new GeneraFicha() ;
public PanMapa() {
iniComponentes();
} // fin del constructor
private void iniComponentes() {
setVisible(true);
setLayout(null);
setBackground(new Color(205, 190, 112));
//Componentes
{
scroll = new JScrollPane();
scroll.setBounds(0, 0, 1016, 672);
this.add(scroll);
{
lblMapa = new JLabel();
scroll.setViewportView(lblMapa);
}
}
{
btnAgregarMap = new JButton("Agregar mapa");
btnAgregarMap.setBounds(1050, 30, 250, 40);
btnAgregarMap.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
btnAgregarMapActionPerformed(evt);
}
});
this.add(btnAgregarMap);
}
{
btnCrearFicha = new JButton("Crear Ficha");
btnCrearFicha.setBounds(1080, 210, 100, 40);
btnCrearFicha.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
btnAgregarFichaActionPerformed(evt);
}
});
this.add(btnCrearFicha);
}
{
lbl1 = new JLabel("Tamaño de ficha");
lbl1.setBounds(1050, 120, 200, 30);
lbl1.setFont(new Font("Arial", Font.ITALIC, 20));
this.add(lbl1);
}
{
combo = new JComboBox();
ComboBoxModel comboModel = new DefaultComboBoxModel(new String[]{
"Seleccione", "Minúsculo", "Diminuto", "Menudo", "Pequeño", "Mediano",
"Grande", "Enorme", "Gargantuesco", "Colosal"
});
combo.setBounds(1040, 160, 200, 30);
combo.setModel(comboModel);
combo.setFont(new Font("Arial", Font.ITALIC, 20));
this.add(combo);
}
// fin de componentess
setSize(1350, 700);
} // fin del método iniComponentes
private void btnAgregarMapActionPerformed(ActionEvent evt) {
int seleccion;
FileNameExtensionFilter filtro = new FileNameExtensionFilter("JPG y PNG", "jpg", "png");
jfchCargarMapa.setFileFilter(filtro);
seleccion = jfchCargarMapa.showOpenDialog(this);
if (JFileChooser.APPROVE_OPTION == seleccion) {
fichero = jfchCargarMapa.getSelectedFile();
try {
ImageIcon icon = new ImageIcon(fichero.toString());
lblMapa.setIcon(icon);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error abriendo la imagen " + ex);
}
}
} // fin del método btnAgregarMapActionPerformed
private void btnAgregarFichaActionPerformed(ActionEvent evt) {
if (combo.getSelectedItem().equals("Minúsculo")) {
GeneraFicha lblFicha = new GeneraFicha();
lblMapa.add(lblFicha);
lblFicha.setOpaque(true);
lblFicha.setBounds(30, 90, 10, 10);
int seleccion;
FileNameExtensionFilter filtro = new FileNameExtensionFilter("JPG y PNG", "jpg", "png");
jfchCargarMapa.setFileFilter(filtro);
seleccion = jfchCargarFicha.showOpenDialog(this);
if (JFileChooser.APPROVE_OPTION == seleccion) {
fichero = jfchCargarFicha.getSelectedFile();
try {
ImageIcon icon = new ImageIcon(fichero.toString());
Image imgEscalada = icon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error abriendo la imagen " + ex);
}
}
/* ImageIcon imgIcon = new ImageIcon(getClass().getResource("/res/prueba.jpg"));
Image imgEscalada = imgIcon.getImage().getScaledInstance(lblFicha.getWidth(),
lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
*/
}
if (combo.getSelectedItem().equals("Diminuto")) {
GeneraFicha lblFicha = new GeneraFicha();
lblMapa.add(lblFicha);
lblFicha.setOpaque(true);
lblFicha.setBounds(30, 90, 20, 20);
int seleccion;
FileNameExtensionFilter filtro = new FileNameExtensionFilter("JPG y PNG", "jpg", "png");
jfchCargarMapa.setFileFilter(filtro);
seleccion = jfchCargarFicha.showOpenDialog(this);
if (JFileChooser.APPROVE_OPTION == seleccion) {
fichero = jfchCargarFicha.getSelectedFile();
try {
ImageIcon icon = new ImageIcon(fichero.toString());
Image imgEscalada = icon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error abriendo la imagen " + ex);
}
}
/* ImageIcon imgIcon = new ImageIcon(getClass().getResource("/res/prueba.jpg"));
Image imgEscalada = imgIcon.getImage().getScaledInstance(lblFicha.getWidth(),
lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
*/
}
if (combo.getSelectedItem().equals("Menudo")) {
GeneraFicha lblFicha = new GeneraFicha();
lblMapa.add(lblFicha);
lblFicha.setOpaque(true);
lblFicha.setBounds(30, 90, 35, 35);
int seleccion;
FileNameExtensionFilter filtro = new FileNameExtensionFilter("JPG y PNG", "jpg", "png");
jfchCargarMapa.setFileFilter(filtro);
seleccion = jfchCargarFicha.showOpenDialog(this);
if (JFileChooser.APPROVE_OPTION == seleccion) {
fichero = jfchCargarFicha.getSelectedFile();
try {
ImageIcon icon = new ImageIcon(fichero.toString());
Image imgEscalada = icon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error abriendo la imagen " + ex);
}
}
/* ImageIcon imgIcon = new ImageIcon(getClass().getResource("/res/prueba.jpg"));
Image imgEscalada = imgIcon.getImage().getScaledInstance(lblFicha.getWidth(),
lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
*/
}
if (combo.getSelectedItem().equals("Pequeño")) {
// GeneraFicha lblFicha = new GeneraFicha();
lblMapa.add(lblFicha);
lblFicha.setOpaque(true);
lblFicha.setBounds(30, 90, 60, 60);
generarIcono();
/* int seleccion;
FileNameExtensionFilter filtro = new FileNameExtensionFilter("JPG y PNG", "jpg", "png");
jfchCargarMapa.setFileFilter(filtro);
seleccion = jfchCargarFicha.showOpenDialog(this);
if (JFileChooser.APPROVE_OPTION == seleccion) {
fichero = jfchCargarFicha.getSelectedFile();
try {
ImageIcon icon = new ImageIcon(fichero.toString());
Image imgEscalada = icon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error abriendo la imagen " + ex);
}
}
*/
/* ImageIcon imgIcon = new ImageIcon(getClass().getResource("/res/prueba.jpg"));
Image imgEscalada = imgIcon.getImage().getScaledInstance(lblFicha.getWidth(),
lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
*/
}
if (combo.getSelectedItem().equals("Mediano")) {
GeneraFicha lblFicha = new GeneraFicha();
lblMapa.add(lblFicha);
lblFicha.setBounds(30, 90, 70, 70);
int seleccion;
FileNameExtensionFilter filtro = new FileNameExtensionFilter("JPG y PNG", "jpg", "png");
jfchCargarMapa.setFileFilter(filtro);
seleccion = jfchCargarFicha.showOpenDialog(this);
if (JFileChooser.APPROVE_OPTION == seleccion) {
fichero = jfchCargarFicha.getSelectedFile();
try {
ImageIcon icon = new ImageIcon(fichero.toString());
Image imgEscalada = icon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error abriendo la imagen " + ex);
}
}
/* ImageIcon imgIcon = new ImageIcon(getClass().getResource("/res/prueba.jpg"));
Image imgEscalada = imgIcon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
//lblFicha.setOpaque(true);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
*/
}
if (combo.getSelectedItem().equals("Grande")) {
GeneraFicha lblFicha = new GeneraFicha();
lblMapa.add(lblFicha);
lblFicha.setBounds(30, 90, 140, 140);
int seleccion;
FileNameExtensionFilter filtro = new FileNameExtensionFilter("JPG y PNG", "jpg", "png");
jfchCargarMapa.setFileFilter(filtro);
seleccion = jfchCargarFicha.showOpenDialog(this);
if (JFileChooser.APPROVE_OPTION == seleccion) {
fichero = jfchCargarFicha.getSelectedFile();
try {
ImageIcon icon = new ImageIcon(fichero.toString());
Image imgEscalada = icon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error abriendo la imagen " + ex);
}
}
/* ImageIcon imgIcon = new ImageIcon(getClass().getResource("/res/prueba.jpg"));
Image imgEscalada = imgIcon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
//lblFicha.setOpaque(true);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
*/
}
if (combo.getSelectedItem().equals("Enorme")) {
GeneraFicha lblFicha = new GeneraFicha();
lblMapa.add(lblFicha);
lblFicha.setBounds(30, 90, 210, 210);
int seleccion;
FileNameExtensionFilter filtro = new FileNameExtensionFilter("JPG y PNG", "jpg", "png");
jfchCargarMapa.setFileFilter(filtro);
seleccion = jfchCargarFicha.showOpenDialog(this);
if (JFileChooser.APPROVE_OPTION == seleccion) {
fichero = jfchCargarFicha.getSelectedFile();
try {
ImageIcon icon = new ImageIcon(fichero.toString());
Image imgEscalada = icon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error abriendo la imagen " + ex);
}
}
/* ImageIcon imgIcon = new ImageIcon(getClass().getResource("/res/prueba.jpg"));
Image imgEscalada = imgIcon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
//lblFicha.setOpaque(true);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
*/
}
if (combo.getSelectedItem().equals("Gargantuesco")) {
GeneraFicha lblFicha = new GeneraFicha();
lblMapa.add(lblFicha);
lblFicha.setBounds(30, 90, 280, 280);
/* ImageIcon imgIcon = new ImageIcon(getClass().getResource("/res/prueba.jpg"));
Image imgEscalada = imgIcon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
//lblFicha.setOpaque(true);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
*/
}
if (combo.getSelectedItem().equals("Colosal")) {
GeneraFicha lblFicha = new GeneraFicha();
lblMapa.add(lblFicha);
lblFicha.setBounds(30, 90, 420, 420);
int seleccion;
FileNameExtensionFilter filtro = new FileNameExtensionFilter("JPG y PNG", "jpg", "png");
jfchCargarMapa.setFileFilter(filtro);
seleccion = jfchCargarFicha.showOpenDialog(this);
if (JFileChooser.APPROVE_OPTION == seleccion) {
fichero = jfchCargarFicha.getSelectedFile();
try {
ImageIcon icon = new ImageIcon(fichero.toString());
Image imgEscalada = icon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error abriendo la imagen " + ex);
}
}
/* ImageIcon imgIcon = new ImageIcon(getClass().getResource("/res/prueba.jpg"));
Image imgEscalada = imgIcon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
//lblFicha.setOpaque(true);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
*/
}
} // fin del método btnAgregarFichaActionPerformed
public void generarIcono(){
//GeneraFicha lblFicha = new GeneraFicha();
int seleccion;
FileNameExtensionFilter filtro = new FileNameExtensionFilter("JPG y PNG", "jpg", "png");
jfchCargarFicha.setFileFilter(filtro);
seleccion = jfchCargarFicha.showOpenDialog(this);
if (JFileChooser.APPROVE_OPTION == seleccion) {
fichero = jfchCargarFicha.getSelectedFile();
try {
ImageIcon icon = new ImageIcon(fichero.toString());
Image imgEscalada = icon.getImage().getScaledInstance(lblFicha.getWidth(), lblFicha.getHeight(), Image.SCALE_SMOOTH);
Icon iconoEscalado = new ImageIcon(imgEscalada);
lblFicha.setIcon(iconoEscalado);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error abriendo la imagen " + ex);
}
}
}
} // fin del clase PanMapa