Salve, sto iniziando ad affrontare il disegno con java, disegno una semplice ellisse.
con il seguente codice:
codice:
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
 
public class Graf02 {   
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame f = new JFrame("Disegno un ellisse");
                f.setBounds(800, 500, 300, 300);
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
                f.add(new MyComp());
                f.setVisible(true);          
            }
        });
    }
}
class MyComp extends JComponent{
   final static BasicStroke spessore = new BasicStroke(5.0f);
   public void paintComponent(Graphics g) {      
       Graphics2D g2d =(Graphics2D)g;
       g2d.setStroke(spessore);
       Ellipse2D.Double fc = new Ellipse2D.Double(50,30,100,150);
       g2d.draw(fc);
   }
}

E funziona perfettamente.
Ho provato a fare la stessa cosa ma utilizzando un JFrame esterno.

Ossia un sorgente principale Graf03.java:
codice:
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
 
public class Graf03 {
   
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                xJFrame f = new xJFrame();
                f.getContentPane().add(new MyComp());
                //f.add(new MyComp());
                f.setVisible(true);
            }
        });
    }
}
 
class MyComp extends JComponent{
   final static BasicStroke spessore = new BasicStroke(5.0f);
   public void paintComponent(Graphics g) {      
       Graphics2D g2d =(Graphics2D)g;
       g2d.setStroke(spessore);
       Ellipse2D.Double fc = new Ellipse2D.Double(50,30,100,150);
       g2d.draw(fc);
   }
}

Ed un xJFrame.java esterno dove c'è il frame:
codice:
import java.awt.*;
import javax.swing.*;
 
public class xJFrame extends JFrame {       
    public xJFrame() {    
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setTitle("Sono una x");
        setBounds(new java.awt.Rectangle(800, 500, 300, 300));
        setPreferredSize(new Dimension(300, 300));
        getContentPane().setLayout(null);      
        pack();
    } 

}

MI visualizza la finestra ma dell'ellisse non vi è traccia!
Dov'è che sbaglio?
Sarebbe utile avere il JFrame a parte in modo da poterlo generare automaticamente in Netbeans.
Grazie per l'eventuale aiuto.