ciao a tutti ho creato un programma dove si puo disegnare su dei fogli (Jpanel con sfondo bianco). questi fogli sono centrati in un'altro Jpanel con sfondo scuro in modo da ottenere un effetto tipo word. Volevo aggiungere la funzione che permette lo Zoom in/out. ho provato ad usare Graphics2D ma ho trovato alcuni problemi durante le prime prove.

codice:
public class MyPanel extends JPanel{

    public MyPanel(){
        this.setBounds(0,0,600,400);
        this.setBackground(Color.GREEN);
    }
    double scala=0.5;
    public void paint(Graphics g){
        Graphics2D g2 = (Graphics2D)g;
        g2.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
        g2.scale(scala,scala);

        AffineTransform old = g2.getTransform();
        g2.setTransform(old);
        super.paint(g2);
        this.setBackground(Color.GREEN);
    }


}

codice:
public class MyFrame {
    public static void main(String[] args) {


        JFrame f = new JFrame("asdfa");

        f.setBounds(0,0,600,400);
        f.setLayout(null);
        JPanel p1 = new JPanel();
        p1.setBounds(0,0,1000, 2000);
        p1.setBackground(Color.BLUE);
        p1.setLayout(null);
        

        MyPanel p = new PPanel();

        f.add(p1);
        p1.add(p);
        


        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
}
ma quando ridimensiono la finestra più piccola della dimensione originale del MyPanel mi mette uno sfondo grigio. Qualcuno sa come risolvere questo problema.