Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    313

    [java] Chiusura di una immagine

    Devo chiudere un immagine,caricata in un pannello,per permettere di aprire un nuova,come fare,senza far accavallare le immagini??
    Inoltre quando apro un immagine se la finestra e ridotta non mi fa vedere le immagini se la allargo si,la stessa cosa lo fa anche se la
    finestra e ingrandita.Cosa Sbaglio??GRAZIE


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

    /**
    *

    Title: </p>
    *

    Description: </p>
    *

    Copyright: Copyright (c) 2004</p>
    *

    Company: </p>
    * @author not attributable
    * @version 1.0
    */
    public class FinestraSwing extends JFrame{
    private JMenuBar barra = new 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 chiudi = new JMenuItem("Chiudi");
    private JOptionPane pannello = new JOptionPane();
    private JFileChooser aprifile = new JFileChooser();
    private JFileChooser salvafile=new JFileChooser("C:\\Programmi");
    private JOptionPane pannellosalva = new JOptionPane();

    private JPanel main = new JPanel();

    private JPanel panelimg=new JPanel();
    private DisplayJAI srcimg;
    private DisplayJAI dstimg;



    /* Costruttore della classe*/
    public FinestraSwing() throws HeadlessException {
    super("Visualizzatore D'immagini");
    setSize(500,500);
    barra.add(file);
    barra.add(effect);
    file.add(apri);
    file.add(salva);
    file.add(salvaas);
    file.add(chiudi);
    file.add(esci);
    getContentPane().setLayout(new BorderLayout());


    /*Pannello diviso in due parti uguali*/
    /*panelimg = new JPanel();
    panelimg.setLayout(new GridLayout(1,2));
    panelimg.setDoubleBuffered(true);
    panelimg.setBackground(Color.white);
    panelimg.setBorder(BorderFactory.createLineBorder( Color.black));*/


    getContentPane().add(barra,BorderLayout.NORTH);
    // getContentPane().add(panelimg,BorderLayout.CENTER) ;




    esci.addActionListener(new AscoltaEsci());
    apri.addActionListener(new AscoltaApri());
    chiudi.addActionListener(new AscoltaChiudi());
    salvaas.addActionListener(new AscoltaSalvaas());
    }

    public class AscoltaEsci implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    System.exit(0);
    }
    }

    public class AscoltaSalvaas implements ActionListener{

    public void actionPerformed(ActionEvent e){


    salvafile.setDialogTitle("Inserisci percorso");
    salvafile.showSaveDialog(pannellosalva);

    String fileNameSave = new String(aprifile.getSelectedFile().toString());
    String filesalvato = new String(salvafile.getSelectedFile().toString());

    RenderedImage imgsrcsave=JAI.create("fileload",fileNameSave);


    //store
    JAI.create("filestore",imgsrcsave,filesalvato,"BMP ",null);
    }
    }

    public class AscoltaApri implements ActionListener {
    public void actionPerformed(ActionEvent e) {

    panelimg = new JPanel();
    panelimg.setLayout(new GridLayout(1,2));
    panelimg.setBackground(Color.white);
    panelimg.setDoubleBuffered(true);
    panelimg.setBorder(BorderFactory.createLineBorder( Color.black));


    aprifile.setDialogTitle("Scegli Immagine");
    aprifile.showOpenDialog (pannello);
    String fileName = new String(aprifile.getSelectedFile().toString());
    RenderedImage imgsrc=JAI.create("fileload",fileName);
    RenderedImage imgdst = JAI.create("fileload",fileName);
    srcimg = new DisplayJAI();
    srcimg.set(imgsrc,0,0);
    dstimg = new DisplayJAI();
    dstimg.set(imgdst,0,0);

    JScrollPane panelsrc= new JScrollPane();
    JScrollPane paneldst= new JScrollPane();
    panelsrc.getViewport().add(srcimg);
    paneldst.getViewport().add(dstimg);
    panelimg.add(panelsrc);
    panelimg.add(paneldst);
    // validate();
    //repaint();
    panelimg.doLayout();

    getContentPane().add(panelimg,BorderLayout.CENTER) ;


    }
    }


    public class AscoltaChiudi implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    getContentPane().remove(panelimg);
    //validate();
    // repaint();

    }
    }


    public static void main(String[] args) throws HeadlessException {
    try{
    UIManager.setLookAndFeel(UIManager.getSystemLookAn dFeelClassName());
    }
    catch(Exception e){
    }


    FinestraSwing finestraSwing1 = new FinestraSwing();
    finestraSwing1.setVisible(true);
    }



    }

  2. #2

    Re: [java] Chiusura di una immagine

    Originariamente inviato da tcc
    Devo chiudere un immagine,caricata in un pannello,per permettere di aprire un nuova,come fare,senza far accavallare le immagini??
    Inoltre quando apro un immagine se la finestra e ridotta non mi fa vedere le immagini se la allargo si,la stessa cosa lo fa anche se la
    finestra e ingrandita.Cosa Sbaglio??GRAZIE
    Per chiudere l'img noi abbiamo fatto panel.removeAll(), dove panel è il pannello che contiene l'immagine.

    Inoltre, per visualizzare l'img all'inizio, fai semplicemente show()

    Per inciso: abbiamo iniziato tardi il progetto, ma siamo dei CAVALLI DA RINCORSA !!!!




    Per i forumisti: stiamo facendo un progetto per un esame (elaborazione ed interpretazione di immagini)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.