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);
}
}