Domanda Problema Graphics Java

MindChains

Utente Bronze
3 Agosto 2018
26
10
5
30
Ciao tutti ragazzi, ho riscontrato un problema durante la stesura di un codice in cui utilizzo i metodi di Graphics, vi espongo subito la mia domanda. In un form creo un oggetto di tipo Draw (una mia classe che utilizza graphics) e automaticamente tramite la funzione paint disegna delle linee 2D, il problema sta nel fatto che tramite il form ad un certo punto dovrò disegnare una circonferenza.. Ho provato definendo una funzione a parte nella classe Draw in cui utilizzo la variabile globale di tipo Graphics2D per eseguire drawOval, ho constatato l'esecuzione della funzione tramite un println ed entra.. Ma non disegna nulla, si può utilizzare la variabile al di fuori della funzione paint ? O ci sono altri metodi? Grazie in anticipo, se mi sono espresso male dite pure
 
Ultima modifica:
Abbastanza male, inizia con il postare degli snippets ;)
Si scusami ero di fretta, adesso posto qualcosa
Messaggio unito automaticamente:

Abbastanza male, inizia con il postare degli snippets ;)
Java:
public class Draw extends JComponent{
    Graphics2D g2d;
        
    public Draw(){
        this.setBounds(380, 40, 1920, 1080);
                }
    
    public void UpdateDraw(int i){
        switch(i){
            case 5:
                g2d.drawOval(0, 0, 20, 20);
                break;
          }
    }
    
    @Override
    public void paint(Graphics g){
        g2d = (Graphics2D)g;
        g2d.setStroke(new BasicStroke(3f));
        g2d.draw(new Line2D.Double(20, 150, 20, 10) );
        g2d.draw(new Line2D.Double(0, 150, 50, 150));
        g2d.draw(new Line2D.Double(20, 10, 90, 10));
        g2d.draw(new Line2D.Double(90, 10, 90, 40));
        
    }
    
}
Questa è la classe Draw, con la funzione paint e l'eventuale funzione UpdateDraw che sarà poi richiamata.
L'oggetto (dr) Draw viene aggiunto in un JFrame, e tramite una funzione richiama il metodo UpdateDraw passando un'intero , eventuale 5..Ma anche nel caso 5 la circonferenza non spunta sullo schermo