ITI0011RUS:task15
Срок сдачи упражнения 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>