Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    caricare una img in un jpanel

    ciao ragazzi,
    dovrei caricare una serie di img salvate sull'hd, come se fosse un filmato....
    il problema che non riesco nemmeno a caricare una foto semplicemente...
    mi indicate il codice da utilizzare...grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,306

    Moderazione

    Al massimo, ti si può dare qualche indicazione sulle classi da utilizzare, poi è tua cura documentarti e cercare di scrivere il codice necessario, da risottoporre eventualmente alla discussione in caso di problemi o errori.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    scusatemi non era mia intenzione scroccare... vi posto il mio codice... mi da errore quando faccio g.drawImage... sapete dirmi perchè? grazie

    codice:
    package progetto;
    
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.MediaTracker;
    
    import javax.swing.JMenuItem;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JPanel;
    
    public class Interfaccia{
    
    	public static void main(String[] args) {
    		final JFrame frame = new JFrame();
    		
    		/**              INIZIO MENU              **/
    		JMenuBar menu=new JMenuBar();
    		
    			JMenu file= new JMenu("File");
    				JMenuItem apri=new JMenuItem("Apri");
    				JMenuItem chiudi=new JMenuItem("Chiudi");
    				JMenuItem salva=new JMenuItem("Salva");
    				JMenuItem esci=new JMenuItem("Esci");
    			file.add(apri);
    			file.add(salva);
    			file.add(chiudi);
    			file.addSeparator(); //separatore
    			file.add(esci);
    			
    			JMenu admin= new JMenu("Admin");
    				JMenuItem accedi=new JMenuItem("Accedi");
    			admin.add(accedi);
    			
    			JMenu help= new JMenu("?");
    			
    		menu.add(file);
    		menu.add(admin);
    		menu.add(help);
    		
    		
    		/**              FINE MENU               **/
    		
    		JPanel root = new JPanel();
    		Image img; 
    		img = java.awt.Toolkit.getDefaultToolkit().getImage("C:\\Documents and Settings\\Administrator\\Desktop\\desktop.jpg");
    		MediaTracker mt = new MediaTracker(root);
    		mt.addImage(img, 1);
    		
    		try { 
    			mt.waitForAll(); 
    			} catch (InterruptedException e){
    			}
    		
    		Graphics g = root.getGraphics();
    		g.drawImage(img, 30, 30, null);
    		
    		/** ADD al FRAME (menu, panel e settaggi vari!)  **/
    		frame.add(root);
    		frame.setTitle("applicazione");
    		frame.setSize(500,500);
    		frame.setJMenuBar(menu);
    		frame.setVisible(true);
    		frame.pack();
    
    	}
    
    }

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da gaetano_cont
    scusatemi non era mia intenzione scroccare... vi posto il mio codice... mi da errore quando faccio g.drawImage... sapete dirmi perchè?
    Il perché è dovuto a quando fai il disegno. L'approccio è proprio fondamentalmente sbagliato.

    In quel punto il "Graphics" del componente non esiste ancora!! getGraphics() restituisce null, non c'è ancora nulla di "materializzato" a video.

    Anche supponendo, per ipotesi, che il Graphics sia disponibile in quel punto, sarebbe comunque un painting non appropriato, perché il disegno è fatto fuori dal "contesto" appropriato, che nei componenti AWT è paint(Graphics) e nei componenti Swing è paintComponent(Graphics).

    Se devi solo visualizzare banalmente una immagine, allora metti il Image in un ImageIcon e poi quest'ultimo ad esempio in un JLabel (che aggiungi da qualche parte nel content pane ovviamente). Oppure usa direttamente ImageIcon (che può caricare una immagine da un path o URL).

    Se proprio vuoi fare del "custom painting", la soluzione più tipica è fare una tua classe che estende JPanel e fare l'override di paintComponent(Graphics). Questo è il "contesto" adatto di disegno e qui dentro puoi fare i disegni che vuoi. Chiaramente devi sapere quando e come questo succede, lo spiega il tutorial Sun: Performing Custom Painting
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Quando posti del codice, usa gli appositi tag CODE, come espressamente richiesto dal Regolamento interno, punto 6.


    Sistemo io il tuo codice.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.