class Cerrar extends WindowAdapter{
public void windowClosing( WindowEvent evt ){
System.exit( 0 );
}
}
class MiGestorDeMenu extends JFrame implements ActionListener{
String ruta;
Image miImagen;
PixelImage copia;
JFrame frame;
JTabbedPane pestana = new JTabbedPane();
public void actionPerformed( ActionEvent evento ){
JMenuItem source = (JMenuItem)(evento.getSource());
if (source.getText() == "Cerrar"){
System.exit( 0 );}
else{
if (source.getText() == "Acerca de..."){
JOptionPane.showMessageDialog(null, "Aplicación creada por: Agus, Vicky y Mir. " +
"Unas genias totales!!! :))", "Información...", JOptionPane.INFORMATION_MESSAGE);
}
else{
if (source.getText() == "Guardar"){
JFileChooser guardarArchivo = new JFileChooser();
int seleccion = guardarArchivo.showSaveDialog(null);
if (seleccion == guardarArchivo.CANCEL_OPTION){
JOptionPane.showMessageDialog(null, "Acción Cancelada!!!", "Alerta", JOptionPane.WARNING_MESSAGE);
}
}
else{
if (source.getText() == "Rotar"){
copia = ToolkitLoader.loadAsRgb24Image(ruta);
Rotate90Left rotar = new Rotate90Left();
rotar.getInputImage();
rotar.setInputImage(copia);
PixelImage rotatedImage = rotar.getOutputImage();
JLabel etiqueta = (JLabel) copia;
getContentPane().add(etiqueta);
}
else{
if (source.getText() == "Media"){
copia = ToolkitLoader.loadAsRgb24Image(ruta);
MeanFilter filter = new MeanFilter();
filter.setArea(5, 5);
filter.setInputImage(copia);
PixelImage filteredImage = filter.getOutputImage();
}
else{
if(source.getText() == "Mediana"){
MedianFilter filter = new MedianFilter();
filter.setArea(5, 5);
filter.setInputImage(copia);
PixelImage filteredImage = filter.getOutputImage();
}
else{
}
if (source.getText() == "Abrir... Alt+A"){
JFileChooser elegirArchivo = new JFileChooser();
elegirArchivo.setFileFilter(new clsmyFileFilter());
int seleccion = elegirArchivo.showOpenDialog(null);
if (seleccion == elegirArchivo.APPROVE_OPTION){
elegirArchivo.getSelectedFile();
ruta = elegirArchivo.getSelectedFile().getAbsolutePath();
ImageIcon imagen = new ImageIcon(ruta);
JLabel etiqueta = new JLabel(imagen);
frame.setAlwaysOnTop(true);
frame.getContentPane().add(etiqueta);
frame.getContentPane().repaint();
miImagen = Toolkit.getDefaultToolkit().getImage(elegirArchivo .getSelectedFile().getAbsolutePath());
copia = ToolkitLoader.loadAsRgb24Image(ruta);
}
else{
JOptionPane.showMessageDialog(null, "Acción Cancelada!!!", "Alerta", JOptionPane.WARNING_MESSAGE);
}
}
}
}
}
}
}
}
public void paint( Graphics g ){
g.translate( this.getInsets().left,this.getInsets().top );
g.drawImage(miImagen,0,0, miImagen.getWidth(this)/2,miImagen.getHeight(this)/2,this );
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class clsmyFileFilter extends javax.swing.filechooser.FileFilter {
public boolean accept(File f) {
return f.isDirectory() || f.getName().toLowerCase().endsWith(".jpg");
}
public String getDescription() {
return ("JPG files");}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class clsMenu extends JFrame{
MiGestorDeMenu m = new MiGestorDeMenu();
String ruta;
Image miImagen;
PixelImage copia;
clsMenu() {
setTitle("NOMBRE");
setIconImage (new ImageIcon("/Agustina/Programas/Agus/Trabajo Final/src/iconosss221.png").getImage());
JMenuItem Abrir = new JMenuItem("Abrir... Alt+A",new Character('A'));
Abrir.setIcon(new ImageIcon(getClass().getResource("/toolbarButtonGraphics/general/Open24.gif")));
JMenuItem Guardar = new JMenuItem("Guardar",new Character ('G'));
Guardar.setIcon(new ImageIcon(getClass().getResource("toolbarButtonGra phics/general/Save16.gif")));
JMenuItem Cerrar = new JMenuItem("Cerrar");
Cerrar.setIcon(new ImageIcon(getClass().getResource("toolbarButtonGra phics/general/Stop16.gif")));
JMenuItem Rotar = new JMenuItem( "Rotar");
JMenuItem Media = new JMenuItem( "Media" );
JMenuItem Mediana = new JMenuItem("Mediana");
JMenuItem Bordes = new JMenuItem( "Bordes");
JMenuItem Espejo = new JMenuItem( "Espejo");
JMenuItem Acerca = new JMenuItem("Acerca de...");
Acerca.setIcon(new ImageIcon(getClass().getResource("toolbarButtonGra phics/general/TipOfTheDay16.gif")));
JButton ZoomIn = new JButton(new ImageIcon(getClass().getResource("toolbarButtonGra phics/general/ZoomIn24.gif")));
JButton ZoomOut = new JButton(new ImageIcon(getClass().getResource("toolbarButtonGra phics/general/ZoomOut24.gif")));
/*Abrir.setIcon(new ImageIcon(getClass().getResource("/iconoss/SIMPSONS_HOMER.png")));
Guardar.setIcon(new ImageIcon(getClass().getResource("/iconoss/ok.gif")));
Cerrar.setIcon(new ImageIcon(getClass().getResource("/iconoss/113.gif")));
Rotar.setIcon(new ImageIcon(getClass().getResource("/iconoss/214.gif")));
Acerca.setIcon(new ImageIcon(getClass().getResource("/iconoss/220.png")));*/
Abrir.addActionListener(new MiGestorDeMenu());
Guardar.addActionListener(new MiGestorDeMenu());
Cerrar.addActionListener(new MiGestorDeMenu());
Rotar.addActionListener(new MiGestorDeMenu());
Media.addActionListener(new MiGestorDeMenu());
Mediana.addActionListener(new MiGestorDeMenu());
Bordes.addActionListener(new MiGestorDeMenu());
Espejo.addActionListener(new MiGestorDeMenu());
Acerca.addActionListener(new MiGestorDeMenu());
ZoomIn.addActionListener(new MiGestorDeMenu());
ZoomOut.addActionListener(new MiGestorDeMenu());
JMenu Archivo = new JMenu("Archivo" );
Archivo.add(Abrir);
Archivo.addSeparator();
Archivo.add(Guardar);
//Guardar.setEnabled(false);
Archivo.addSeparator();
Archivo.add(Cerrar);
JMenu Efectos = new JMenu("Efectos ");
Efectos.add(Espejo);
//Efectos.setEnabled(false);
JMenu Edicion = new JMenu( "Edicion" );
Edicion.add(Rotar);
//Rotar.setEnabled(false);
Edicion.addSeparator();
Edicion.add(Efectos);
//Efectos.setEnabled(false);
JMenu Filtros = new JMenu( "Filtros" );
Filtros.add(Media);
//Media.setEnabled(false);
Filtros.addSeparator();
Filtros.add(Mediana);
//Mediana.setEnabled(false);
Filtros.addSeparator();
Filtros.add(Bordes);
//Bordes.setEnabled(false);
JMenu Ayuda= new JMenu( "Ayuda" );
Ayuda.add(Acerca);
ZoomIn.setToolTipText("Acercar" );
ZoomOut.setToolTipText("Alejar" );
ZoomIn.setCursor( Cursor.getPredefinedCursor(Cursor.HAND_CURSOR) );
ZoomOut.setCursor(Cursor.getPredefinedCursor(Curso r.HAND_CURSOR) );
JMenuBar menuBar = new JMenuBar();
menuBar.add(Archivo);
menuBar.add(Edicion);
menuBar.add(Filtros);
menuBar.add(Ayuda);
menuBar.add(ZoomIn);
menuBar.add(ZoomOut);
addWindowListener(new Cerrar());
setJMenuBar(menuBar);
setSize(500,500);
setVisible(true);
/*JTabbedPane pestana = new JTabbedPane();
pestana.addTab("Antes",null,null, null);
pestana.addTab("Después",null,null, null);
add(pestana,BorderLayout.CENTER);*/
} //////////FIN DEL CLSmENU!!!!!!!!////////////
String devuleveRuta(){
return ruta;
}
}
public class clsAplicacion{
public static void main(String args[]) throws IOException{
clsMenu mimenu = new clsMenu();
}
}
ESTE ES TODO EL CÓDIGO QUE TENGO HASTA AHORA. LA CLASE QUE MANEJA LOS EVENTOS TIENEN QUE SER ASI PORQUE EL TEMA DEL CONCEPTO DE OBJETOS.
GRACIAS!!!!!!!!!!!!!!!!!!!