Я не могу добавить овалы (объекты) в ArrayList. Как мне это сделать? - PullRequest
0 голосов
/ 08 ноября 2019

Я пытался нарисовать коробку с бутылками, в которой было 24 бутылки (в формате 4 * 6). Если число больше 24, полные пивные ящики вывозятся, и отображается только верхний (то есть тот, который не полностью заполнен). Возвращаемое значение - количество полных ящиков для пива. (Так, например, если 52 сдано, 4 бутылки пива должны быть помечены как заполненные, а номер 2 должен быть возвращен.

import java.awt.Graphics;
import java.awt.Color;
import javax.swing.JFrame;
import java.util.ArrayList;

public class Experiment extends JFrame {
    /**
     * Constructor for objects of class Experiment
     */
    public Experiment() {
        setTitle("Experiment");
        setSize(500, 500);
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    public void paint(Graphics g) {
        //g.drawRect(84, 48, 400, 360);
        //g.drawOval(84,48, 60, 60);
        g.setColor(Color.ORANGE);
        g.fillOval(84, 48, 60, 60);
    }

    public static void main(String[] args) {
        Experiment e = new Experiment();
        e.paint(null);
    }

** проблема здесь g.drawOvalне принимается. ArrayList не принимает овалы (бутылки) говорит: не может найти символ - переменная g. **

    public void bierflaschen(int a, String farbe) {
        int x = 84, y = 48;
        ArrayList Flaschen = new ArrayList();
        for (int i = 1; i <= a; i++) {
            Flaschen.add(`g.drawOval` (60, x, y, farbe));
            if (i % 6 == 0) {
                y += 48;
                x = 84;
            } else {
                x += 48;
            }
        }
    }

    public int fuellen(int wert) {
        bierflaschen(24, "");
        //kiste();
        int b = wert % 24;
        if (b == 0) {
            bierflaschen(24, "gelb");
            return (wert / 24) - 1;
        } else {
            bierflaschen(b, "gelb");
            return (wert - b) / 24;
        }
    }
}
...