Quote Originariamente inviata da jabjoint Visualizza il messaggio
Non ricordo più come fare per usare il metodo repaint/paint/update:
Qui un tentativo mal riuscito...
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);
    }
}