ho tre classi MainClass,DesktopClass,MenuClass.
Nella MenuClass creo un barra ed associo al bottone apri
l'ActionListener implementato attraverso la classe stesso all'interno
ButtonApri in cui dovrei aprire un'immagine associarla ad InternalFrame
e farla comparire nel DesktopPane,ma purtroppo non mi fa comparire
niente DOVE SBAGLIO????GRAZIE,CIAO


MAINCLASS:


import javax.swing.*;
import java.awt.*;



public class MainClass extends JFrame{

MenuClass barra = new MenuClass();
DesktopClass desktop = new DesktopClass();
JPanel mainpanel = new JPanel(new BorderLayout());

public MainClass() {
super("Visualizzatore d'immagini");
mainpanel.add(barra,BorderLayout.NORTH);
mainpanel.add(desktop,BorderLayout.CENTER);


this.getContentPane().add(mainpanel);
}





public static void main(String[] args) throws HeadlessException {
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAn dFeelClassName());
}
catch(Exception e){
}
MainClass mainClass1 = new MainClass();
mainClass1.setExtendedState(JFrame.MAXIMIZED_BOTH) ;
mainClass1.setVisible(true);
}


}


MENUCLASS:

import javax.swing.*;
import java.awt.event.*;
import javax.media.jai.*;
import java.awt.image.RenderedImage;
import com.sun.media.jai.widget.DisplayJAI;



public class MenuClass extends JMenuBar{


private JMenu file = new JMenu("File");
private JMenu effect = new JMenu("Effect");
private JMenuItem esci = new JMenuItem("Esci");
private JMenuItem salva = new JMenuItem("Salva");
private JMenuItem salvaas = new JMenuItem("Salva con nome");
private JMenuItem apri = new JMenuItem("Apri");
private JMenuItem inverti = new JMenuItem("Inverti");
private JMenuItem luminosita = new JMenuItem("Luminosità");
private JMenuItem contrasto = new JMenuItem("Contrasto");


public MenuClass() {


this.add(file);
this.add(effect);
file.add(apri);
file.add(salva);
file.add(salvaas);
file.add(esci);
effect.add(inverti);
effect.add(luminosita);
effect.add(contrasto);
apri.addActionListener(new ButtonApri());


this.setVisible(true);


}

public class ButtonApri implements ActionListener {

public JInternalFrame finestra = new JInternalFrame();
private JOptionPane pannello = new JOptionPane();
private JFileChooser aprifile = new JFileChooser();
private JScrollPane srcimgpanel = new JScrollPane(); //Panello Dell'immagine sorgente
private DesktopClass desktop = new DesktopClass();

private DisplayJAI srcimg; //Pannello contenente L'immagine aperta
public RenderedImage imgsrc;


public void actionPerformed(ActionEvent e) {


aprifile.setDialogTitle("Scegli Immagine");
aprifile.showOpenDialog (pannello);
/** Apertura dell'immagine **/
String fileName = new String(aprifile.getSelectedFile().toString());
imgsrc=JAI.create("fileload",fileName);
/** Creazione del Panello contenete l'immagine aperta**/
srcimg= new DisplayJAI(imgsrc);
srcimg.setOrigin(0,0);
srcimgpanel.getViewport().add(srcimg);
finestra.getContentPane().add(srcimgpanel);
finestra.setSize(120,80);
desktop.add(finestra);
finestra.setVisible(true);


}
}



}









DESKTOPCLASS:






import javax.swing.*;





public class DesktopClass extends JDesktopPane{



public DesktopClass() {


this.setVisible(true);


}

}