Центрирование GObject в Java

Так как я сейчас изучаю Java, у меня возникла серьезная проблема, которую, я надеюсь, легко решить.

Мне нужно создать олимпийские кольца для курса, который должен отображаться по центру экрана.

Вот мой код:

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;

import acm.graphics.*;
import acm.program.*;

public class OlympicRings extends GraphicsProgram{
    public void run() {
        GOval blueRing = new GOval (100, 100, 90, 90);
        blueRing.setColor(Color.BLUE);
        add(blueRing);
        GOval yellowRing = new GOval (150, 150, 90, 90);
        yellowRing.setColor(Color.YELLOW);
        add(yellowRing);
        GOval blackRing = new GOval (200, 100, 90, 90);
        add(blackRing);
        GOval greenRing = new GOval (250, 150, 90, 90);
        greenRing.setColor(Color.GREEN);
        add(greenRing);
        GOval redRing = new GOval (300, 100, 90, 90);
        redRing.setColor(Color.RED);
        add(redRing);

        GCompound olympics = new GCompound();
        olympics.add(blueRing, 100, 100);
        olympics.add(yellowRing, 150, 150);
        olympics.add(blackRing, 200, 100);
        olympics.add(greenRing, 250, 150);
        olympics.add(redRing, 300, 100);



        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

        double x = (screenSize.getWidth() - olympics.getWidth()) / 2;
        double y = (screenSize.getHeight() + olympics.getHeight()) / 2;
        add(olympics, x, y);
    }
}

Не очень, я знаю, но это только мой третий код.

Моя проблема: я не центрирую GCompound. Он всегда отображается в правом нижнем углу холста.

Я уже искал этот сайт и множество других, чтобы найти решение, но ничего не помогло.

Я надеюсь, что кто-то может помочь мне с этим.

С наилучшими пожеланиями, Кейт

0 ответов

Другие вопросы по тегам