0

こんにちは) 以下のようにコードを高速化できるかどうかという質問がありました:

import java.awt.Canvas;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;

public class Game extends Canvas {

    private static final long serialVersionUID = 1L;

    private static final int WIDTH = 400;
    private static final int HEIGHT = 400;

    @Override
    public void paint(Graphics g) {

        super.paint(g);

        int w = 20;
        int h = 20;
        int type = BufferedImage.TYPE_INT_ARGB;

        BufferedImage image = new BufferedImage(w, h, type);
        Graphics2D g2d = image.createGraphics();
        g2d.setColor(Color.GREEN);
        g2d.fillRect(0, 0, w, h);
        g2d.dispose();
        int MapWidth = image.getWidth(this);
        int MapHeight = image.getHeight(this);

        for (int s = MapWidth - MapWidth; s < MapWidth * 10; s++) {
            for (int i = MapHeight - MapHeight; i < MapHeight * 10; i++) {
                g.drawImage(image, s, i, (int) w, (int) h, this);
            }
        }

    }

    public static void main(String[] args) {

        EventQueue.invokeLater(new Runnable() {
            public void run() {
                JFrame frame = new JFrame();

                frame.setSize(WIDTH, HEIGHT);
                frame.add(new Game());

                frame.setVisible(true);
            }
        });
    }
}

彼はとても長い間絵を描いています。どうすれば高速化できますか?助けてください)

そして、描いた絵までひとつのプログラムが閉じられません。彼らの描画を加速する必要があります

4

2 に答える 2