No, non si fa così, perché anche se disegnasse qualcosa, non sarebbe "persistente" perché non è nel "contesto" giusto per il painting.
In Swing il "contesto" di disegno è nel metodo paintComponent(Graphics).
Il modo più semplice (e appropriato) è:
codice:import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; public class FrameProva extends JFrame { public FrameProva() { super("Prova"); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(300, 200); add(new PaintPanel()); } public static void main(String[] args) { SwingUtilities.invokeLater(() -> new FrameProva().setVisible(true)); } } class PaintPanel extends JPanel { @Override protected void paintComponent(Graphics g) { super.paintComponent(g); g.drawString("Ciao", 20, 30); } }