このコードが同じサイズの 2 行を出力するのはなぜですか?
import java.awt.*;
import javax.swing.*;
public class G2Scale extends JPanel{
    public static void main(String args[]) {
        G2Scale g = new G2Scale();
        g.setPreferredSize(new Dimension(200, 200));
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setContentPane(g);
        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(Color.BLUE);
        g2.scale(0.5, 1.0);
        g2.drawLine(5, 50, 100, 50);
        g2.setColor(Color.GREEN);
        g2.scale(1.0, 1.0);
        g2.drawLine(5, 100, 100, 100);
    }
}
これらの線は、縮尺が異なるため、異なるサイズになると思います。私が見ているものから、スケールは以前のスケールに基づいていると思います。私はこれについて正しいですか?
これが本当なら、どうすれば 2 番目の行を私が思っていたものにスケーリングすることができますか?
ありがとう