Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29
  1. #1

    cannot find symbol ...

    E' un programma che feci 6/7 anni fa ...da allora non tocco più java...
    Volevo ricompilarlo ed eseguirlo e stranamente mi da quest ' errore e non ho più
    la testa su java ! C' è uno fresco di studio ? grazie...ho colorato l 'errore...

    Movimento.java:46: cannot find symbol

    symbol : constructor ImagePanel(java.awt.Image)
    location: class Movimento.ImagePanel
    ImagePanel imagepanel = new ImagePanel(image0);
    1 error
    BUILD FAILED (total time: 0 seconds)




    codice:
    
     
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*; 
    import javax.swing.*;
    import java.net.URL;
    import javax.swing.event.*;
    import javax.swing.Timer;  
    import java.awt.Panel.*;
    import   java.awt.Image.*;
    
    
    
    
    
    
     public class Movimento extends JFrame implements ActionListener     {
      final static int numImages=2;
        Image image    ;
        Image image0;
        ImagePanel imagepanel;
        Timer timer;
        int xh[]= new int[numImages];
        int yh[]= new int[numImages];
        
        
        
         public Movimento()  { 
              
            int delay = 50  ; 
            //Set up a timer that calls this object's action handler.
            timer = new Timer(delay, this);
            timer.setInitialDelay(0);
            timer.setCoalesce(true);
            
            
           java.net.URL theURL0=getClass().getResource("Campi.jpg");
           Image image0=Toolkit.getDefaultToolkit().getImage(theURL0);
             
                
             java.net.URL theURL = getClass().getResource("tomino.gif");        
            Image image =  Toolkit.getDefaultToolkit().getImage(theURL) ; 
            
           ImagePanel imagepanel = new ImagePanel(image0); ;
        // immagine senza drawimage in paintComponent !
             
         JFrame f= new JFrame("Mia Frame"); 
                f.addWindowListener(new WindowAdapter(){
                    public void windowClosing(WindowEvent e){
                        System.exit(0); }});
                              
                        f.getContentPane().add(imagepanel, BorderLayout.CENTER);
                        f.setSize(new Dimension(550,100));
                        f.setVisible(true); 
          } 
                
                 
                            
                
      
        public static void main(String args[]) {
        Movimento animatore=null;
         
         animatore=new Movimento() ;
       //  animatore.pack();
         animatore.setVisible(true);     
            
            animatore.startAnimation();
        }   
        
        
       
        public void startAnimation() {    
           
                if (!timer.isRunning()) {
                    timer.start();
                }}
       
        public void actionPerformed(ActionEvent e) {      
         
                 repaint();   
        }   
                        
                                        
           private class ImagePanel extends JPanel {
    
          Image image;
    
            private Image  ImagePanel(Image image  ) {
              return   this.image  = image ;} } 
                
     /* public void paintComponent(Graphics g){
          
             
                    super.paintComponent(g);
                    
                    g.drawImage(image, 50, 50, this);           
                } */
                
    public void paintComponent(Graphics g) {
    //	   super.paintComponent(g); 
     // g.drawImage(image0,0,0,1000,500,this);           
                for (int i=0; i < numImages; i++){
                nudge(i);    
                squish(g,image,xh[i] ,yh[i]);            
            }   
            } 
            
            public void nudge(int i){
                        
                xh[i] += 1;                                         
                yh[i] += 1;                  
                                            
            }
            
            public void squish(Graphics g,Image image,int x ,int y) {
             
               if(isVisible())  { 
                   
            
                   
    	 g.drawImage(image, x, y,100,100,  
    			                   this);
    	    } } 
    	 
    	
                
                
              
         }     // chiude classe ImagePanel

  2. #2
    Nella riga in rosso ci sono due punti e virgola

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    il fatto che ci siano due ";" non gliene può fregar de meno come dice il mio collega romano, visto che è considerata istruzione vuota e skippata.

    Il classpath è corretto? di che libreria fa parte ImagePanel?
    RTFM Read That F*** Manual!!!

  4. #4
    Originariamente inviato da valia
    il fatto che ci siano due ";" non gliene può fregar de meno come dice il mio collega romano, visto che è considerata istruzione vuota e skippata.

    Il classpath è corretto? di che libreria fa parte ImagePanel?
    Imagepanel è nel corpo del programma ( dopo 7 anni la mia testa è completamente
    desertificata dal java ! da non credere. )>>>>


    private class ImagePanel extends JPanel {

    Image image;

    private Image ImagePanel(Image image ) {
    return this.image = image ;} }

  5. #5
    codice:
            private Image  ImagePanel(Image image  ) {
              return   this.image  = image ;} }
    Questa sintassi non mi sembra molto corretta...
    Prova a togliere il tipo di ritorno al costruttore della classe ImagePanel e a farla public

    codice:
            public ImagePanel(Image image  ) {
              return   this.image  = image ;} }
    lolide
    Java Programmer

    Informati

  6. #6
    Originariamente inviato da lolide
    codice:
            private Image  ImagePanel(Image image  ) {
              return   this.image  = image ;} }
    Questa sintassi non mi sembra molto corretta...
    Prova a togliere il tipo di ritorno al costruttore della classe ImagePanel e a farla public

    codice:
            public ImagePanel(Image image  ) {
              return   this.image  = image ;} }
    Cosi non va ,Netbeans mi accende l 'errore dicendo " Cannot return a value from method whose
    result type is void "

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Originariamente inviato da landolini
    Cosi non va ,Netbeans mi accende l 'errore dicendo " Cannot return a value from method whose
    result type is void "
    devi togliere anche il return, essendo un costruttore non deve ritornare nulla, per quel che ho capito di quello che vorresti fare.

  8. #8
    Originariamente inviato da Kaamos
    devi togliere anche il return, essendo un costruttore non deve ritornare nulla, per quel che ho capito di quello che vorresti fare.
    Da errore se tolgo il return....

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Originariamente inviato da landolini
    Da errore se tolgo il return....
    Se non dici esattamente qual è l'errore che ricevi e quale la riga che lo genera...

  10. #10
    Originariamente inviato da Kaamos
    Se non dici esattamente qual è l'errore che ricevi e quale la riga che lo genera...
    Ho l' IDE netbeans che accende la lucina rossa d 'errore sulla stessa linea in cui c'e' la
    return se la tolgo...(e mi dice missing return statement...) e se compilo mi da >>>

    Compiling 1 source file to JavaProject28/build/classes
    /home/lando/bAnimatorAppNB/Movimento.java:101: missing return statement
    this.image = image ;}
    1 error
    BUILD FAILED (total time: 0 seconds)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.