ITI0011RUS:task15

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti

Срок сдачи упражнения 19-е занятие (8 апреля).

Общая информация об упражнениях: ITI0011RUS_Practice.
Обратно на страницу предмета.

Описание

Создать графическую программу, в которой можно рисовать различные фигуры. В программе присутствует кнопка, которая уменьшает радиус самой большой окружности на 5 px.

Требования:

  • при щелчке мыши в окне рисуется круг с вероятностью 0.8, либо прямоугольник, с вероятностью 0.2. Радиус круга, либо длина стороны прямоугольника также являются случайными величинами в диапазоне от 10 до 100 (10 и 100 включены в интервал).
  • в программе присутствует кнопка, при нажатии на которую запускается функция Util.getBiggestCircle(main.getChildren()), предполагая, что main есть тот элемент, в который добавляются фигуры.
  • если метод возвращает объект класса Circle, то его радиус следует уменьшить на 5px.
  • При уменьшении радиуса окружности следует использовать анимацию (например, уменьшать радиус в течение 0.5 секунды).

Таким образом, при продолжительном нажатии на кнопку должны пропасть все окружности (радиус 0).

Окружность

<source lang="java"> import javafx.collections.ObservableList; import javafx.scene.Node; import javafx.scene.shape.Circle;

public class Util { /** * Given a list of Node elements (in JavaFX, containers * have a method getChildren() which returns an observable * list of child elements (buttons, textboxes etc. and also * other containers) return the circle object with the largest * radius. The list can contain other elements beside Circle object. * * @param children A list of child nodes * @return The circle with the largest radius */ public static Circle getBiggestCircle(ObservableList<Node> children) { return null; } }

</source>