Hvordan Tegn en diamant i Java

Selv om Java inkluderer ikke standardmetoder for å tegne en diamant, er det relativt enkelt å lage en selv. Denne metoden vil ta øks koordinere og ay koordinere at markere øvre venstre hjørne av rektangelet som omfatter din diamant. Hvis for eksempel y-koordinaten til det høyeste punkt på diamanten er 50 og x-koordinaten til den ytterste venstre punkt på diamanten er 25, vil grensekoordinater være 25 og 50. Metoden vil også ta en verdi for høyden diamanten og en verdi for bredden av diamant.

Bruksanvisning

Lag en JFrame å trekke på

1 Starte et nytt prosjekt i Integrated Development Environment, eller IDE, at du er mest erfaren med.

2 Opprett en ny klasse kalt "DrawingComponent" i prosjektet. Type "strekker komponent" umiddelbart etter "DrawingComponent", men før åpningen braketten ved enden av klassen erklæring.

3 Skriv inn følgende kode over DrawingComponent klassen erklæring for å importere de nødvendige filene inn i klassen:
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.GeneralPath;

4 Legg til en ny maling metode for å overstyre den komponenten standard maling metode. Sett inn følgende kode mellom åpning og lukking brak av DrawingComponent klasse:
public void paint (Graphics g) {

}

5 Opprett en ny JFrame i prosjektets viktigste metoden og legger til egendefinerte tegning komponent til den med denne koden:
javax.swing.JFrame ramme = new javax.swing.JFrame ();
int frameWidth = 300;
int frameHeight = 300;
frame.setSize (frameWidth, frameHeight);
frame.setVisible (true);
frame.setDefaultCloseOperation (javax.swing.JFrame.EXIT_ON_CLOSE);
. Frame.getContentPane () legger (ny DrawingComponent ());

Tegn en Diamond

6 Opprett en ny metode i DrawingComponent klassen ved å legge inn dette mellom klassens åpning og lukking parentes, men utenfor de andre metodene i klassen:
GeneralPath createDiamond (int x, int y, int bredde, int høyde) {

}

7 Skriv inn følgende kode inne i createDiamond metode for å definere en ny GeneralPath med fire linjer:
GeneralPath diamant = ny GeneralPath (GeneralPath.WIND_EVEN_ODD, 4);

8 Beregn de fire punktene i diamant gitte verdiene som overføres til metoden. Hver gang du beregne et punkt, veilede banen gjennom det punktet. Bruk følgende kode for å oppnå dette:
x + = bredde / 2;
diamond.moveTo (x, y);
x + = bredde / 2;
y + = høyde / 2;
diamond.lineTo (x, y);
x- = bredde / 2;
y + = høyde / 2;
diamond.lineTo (x, y);
x- = bredde / 2;
y- = høyde / 2;
diamond.lineTo (x, y);

9 Lukk GeneralPath objekt for å slå den inn i en ferdig diamant og deretter returnere den med denne koden:
diamond.closePath ();
returnere diamant;

10 Ring createDiamond metode innsiden av maling metode og passere resultatet til en forekomst av Graphics2D å trekke diamant med følgende kode:
Graphics2D g2d = (Graphics2D) g;
g2d.draw (createDiamond (100,100,50,100));