Primi passi...help!

di il
3 risposte

Primi passi...help!

Ciao a tutti, sono nuovo del forum e non solo, sto muovendo i primi passi nella programmazione in java. Ho preso una guida in biblioteca e sto iniziando a scrivere la mia prima finestra e ad inserire elementi grafici all'interno.
So che posso realizzare degli applet ma per ora non mi interessa, sono più interessato alla creazione di eseguibili.
La guida parla chiaro, dovrei far le cose in questo modo...ma non riesco a compilare il programma

Il codice è semplicissimo...

Questo è l'errore: non static variable this cannot be referenced in a static context.
Questo è il codice: in grassetto la parte che non vuole...ma la guida si...!!!

in pratica:...devo creare un esemplare della classe che definisce la forma grafica ed inserirla all'interno del metodo main invocato dalla classe che definisce la finestra...

import javax.swing.JFrame;
import java.awt.Rectangle;
import javax.swing.JComponent;
import java.awt.Graphics;
import java.awt.Graphics2D;

public class finestra
{

public static void main(String[] args)
{

JFrame finestra = new JFrame();

finestra.setSize(300, 400);
finestra.setTitle("finestra vuota");
finestra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Figura componente = new Figura();
finestra.add(componente);


finestra.setVisible(true);
}

public class Figura extends JComponent
{

public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
Rectangle box = new Rectangle(20, 20, 60, 90);
g2.draw(box);
}
}

}

Vorrei saperne di più, grazie a tutti...!!!

3 Risposte

  • Re: Primi passi...help!

    Ciao,
    di seguito ti scrivo il codice funzionante.
    Devi scrivere due classi.
    
    
    import javax.swing.JFrame;
    
    public class Classe {
    
    	public static void main(String[] args) {
    
    		JFrame finestra = new JFrame();
    
    		finestra.setSize(300, 400);
    		finestra.setTitle("finestra vuota");
    		finestra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    		Figura componente = new Figura();
    		finestra.add(componente);
    
    		finestra.setVisible(true);
    	}
    
    }
    
    
    
    
    
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Rectangle;
    
    import javax.swing.JComponent;
    
    public class Figura extends JComponent {
    
    	public void paintComponent(Graphics g) {
    		Graphics2D g2 = (Graphics2D) g;
    		Rectangle box = new Rectangle(20, 20, 60, 90);
    		g2.draw(box);
    	}
    }
    
  • Re: Primi passi...help!

    Scusa....ma non funziona puoi spiegarmi meglio come si fa????
    Il Compilatore mi dice che devo rinominare il file con Il nome della classe Figura, ma quando lo faccio mi dice che devo rinominare il file con il nome della classe finestra...non so che fare mi sento stupido, e due giorni che ci provo e sono frustrato, questi sono concetti fondamentali...possibile che non riesco ad apprenderli!!!!!

    Un grazie di cuore a chi vorra spiegarmi meglio l'esercizio!!!!!!!
  • Re: Primi passi...help!

    Ciao i nomi dei file devo essere uguali ai nomi delle classi.
    Quindi nell'esempio che ti ho fatto devi fare due file (.java),
    in uno ci va "Classe" e nell'altro ci va "Figura" e chiamarli nello stesso modo.
Devi accedere o registrarti per scrivere nel forum
3 risposte