Kako crtati trokute u Javi
Java programsko sučelje sadrži mogućnost napredne grafičke obrade. Crtanje jednostavnih oblika kao što su trokuti stvar je definiranja parametara za oblik unutar okvira. Postavljanje ovih parametara vrši se upotrebom određenih tipova podataka i Java metoda koje instruiraju programski prevoditelj što učiniti kada se metode pozovu. Nadjačavanje posebne metode nazvane paintComponent osigurava precizno crtanje definiranog oblika.
1. korak
Uvezite pakete Graphics, Point i Polygon awt i JFrame i JPanel swing pakete. Kod ide prije prve klase vašeg programa i izgleda ovako:
import java.awt.Graphics; import java.awt.Point; import java.awt.Polygon; import javax.swing.JFrame; import javax.swing.JPanel;
2. korak
Napravite svoju klasu trokuta i proširite klasu JPanel tako da se trokut može prikazati na ekranu. Vaš kod bi trebao izgledati ovako, iako svoj program možete nazvati kako god želite:
javna klasa TriangleShape proširuje JPanel {
}
3. korak
Nadjačajte metodu paintComponent u svojoj glavnoj klasi. Upute koje Java koristi za crtanje trokuta nalaze se u ovoj metodi. Kod izgleda ovako, iako tipove podataka možete imenovati kako god želite:
public void paintComponent (Graphics g) { super.paintComponent (g);
Dimension length = this.getSize(); Point p1 = new Point (size.width / 3, (2 * size.height) / 3); Point p2 = new Point(size.width / 2, size.height / 3); Point p3 = new Point((2 * size.width) / 3, (2 * size.height) / 3); int[] x = { p1.x, p2.x, p3.x }; int[] y = { p1.y, p2.y, p3.y }; Polygon triangle = new Polygon(x, y, x.length);
Točke p1, p2 i p3 određuju vrhove trokuta. Int[] nizovi i trokut tipa Polygon čine krake trokuta. Ovaj kod ide unutar zagrada vaše glavne klase.
4. korak
Stvorite glavnu metodu, koja upućuje Javu da stvori okvir na kojem će nacrtati trokut i dodaje trokut u okvir. Kod je sljedeći, koristeći vaša imena za vrste podataka:
public static void main(String[] args) {
TriangleShape t = new TriangleShape(); JFrame frame = new JFrame(); frame.getContentPane().add(t); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(100, 100); frame.show();
Ovaj kod ide u zagrade vaše glavne klase, nakon printComponent metode.