Erinevus lehekülje "ITI0011:harjutus 15" redaktsioonide vahel
4. rida: | 4. rida: | ||
Nõuded: | Nõuded: | ||
− | * hiirega ekraanil klikkides tekib juhuslikkuse alusel kas ring või ristkülik. Ringi tõenäosus on 0.8, ristküliku oma 0.2. Mõlema kujundi puhul on suurused ( | + | * hiirega ekraanil klikkides tekib juhuslikkuse alusel kas ring või ristkülik. Ringi tõenäosus on 0.8, ristküliku oma 0.2. Mõlema kujundi puhul on suurused (raadius või külgede pikkused) juhuslikud numbrid vahemikus 10 kuni 100 (kaasa arvatud). |
* ekraanil on nupp, millele vajutades kutsutakse välja <code>Util.getBiggestCircle(main.getChildren())</code>, eeldusel, et <code>main</code> on see element, mille sisse lisatakse kujundeid. | * ekraanil on nupp, millele vajutades kutsutakse välja <code>Util.getBiggestCircle(main.getChildren())</code>, eeldusel, et <code>main</code> on see element, mille sisse lisatakse kujundeid. | ||
* kui nupu vajutamise peale saadakse meetodist tagasi <code>Circle</code> objekt, siis selle kujundi raadiust tuleb vähendada 5px võrra. | * kui nupu vajutamise peale saadakse meetodist tagasi <code>Circle</code> objekt, siis selle kujundi raadiust tuleb vähendada 5px võrra. |
Viimane redaktsioon: 17. aprill 2015, kell 12:39
Kirjeldus
Kirjutada graafilise kasutajaliidesega programm, kus saab teha erinevaid kujundeid. Programmis on nupp, mis vähendab kõige suurema ringi raadiust 5 px võrra.
Nõuded:
- hiirega ekraanil klikkides tekib juhuslikkuse alusel kas ring või ristkülik. Ringi tõenäosus on 0.8, ristküliku oma 0.2. Mõlema kujundi puhul on suurused (raadius või külgede pikkused) juhuslikud numbrid vahemikus 10 kuni 100 (kaasa arvatud).
- ekraanil on nupp, millele vajutades kutsutakse välja
Util.getBiggestCircle(main.getChildren())
, eeldusel, etmain
on see element, mille sisse lisatakse kujundeid. - kui nupu vajutamise peale saadakse meetodist tagasi
Circle
objekt, siis selle kujundi raadiust tuleb vähendada 5px võrra. - Kujundi raadiuse vähendamisel tuleb kasutada mingit animatsiooni (näiteks väheneb aeglaselt 0.5 sekundi jooksul).
Sedasi nuppu vajutades peaks lõpuks kõik ringid ära kaduma (raadius = 0).
Mall
<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>