drawPolly ve fillPolly kullanılarak şekil çizimi
Aşağıdaki uygulama bir ok çizer.
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JApplet;
import javax.swing.JColorChooser;
public class poligon_cizimi extends JApplet {
public void init() {
}
public void paint(Graphics Ekran) {
Graphics2D Ekran2D=(Graphics2D) Ekran;
int xdizi[] = {110, 130, 90, 155, 88, 100, 50, 75, 85, 120, 60};
int ydizi[] = {30, 40, 110, 90, 220, 235, 250, 175, 195, 120, 143};
Color Renk=JColorChooser.showDialog(this, "Bir renk seçin", null);
Ekran2D.setColor(Renk);
xdizi = Arttır(xdizi, 10);
ydizi = Arttır(ydizi, 10);
Ekran2D.rotate(-Math.PI/5.0);
Ekran2D.fillPolygon(xdizi, ydizi, xdizi.length);
}
public int[] Arttır(int ArttirilacakDizi[], int Artis) {
for (int i = 0; i < ArttirilacakDizi.length; i++) {
ArttirilacakDizi[i] = ArttirilacakDizi[i] + Artis;
}
return ArttirilacakDizi;
}
}
Yıldız Çizen başka bir uygulama
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import javax.swing.JApplet;
import javax.swing.JColorChooser;
public class poligon_cizimi2 extends JApplet {
public void init() {
}
public void paint(Graphics Ekran) {
Graphics2D Ekran2D = (Graphics2D) Ekran;
int[] xekseni = {130, 160, 230, 170, 185, 140, 80, 100, 50, 110};
int[] yekseni = {30, 80, 80, 110, 160, 130, 160, 110, 80, 80};
//Color Renk=JColorChooser.showDialog(this, "Bir renk seçiniz", Color.yellow);
//Ekran2D.setColor(Renk);
Ekran.translate(10, 10);
for (int j = 0; j < 15; j++) {
xekseni = Arttir(xekseni, Rastgele(150));
yekseni = Arttir(yekseni, Rastgele(150));
Ekran2D.setColor(new Color(Rastgele(255), Rastgele(255), Rastgele(255)));
Ekran2D.rotate(-Math.PI / 10);
Ekran2D.fillPolygon(xekseni, yekseni, xekseni.length);
}
}
public int[] Arttir(int[] GelenDizi, int Artis) {
for (int i = 0; i < GelenDizi.length; i++) {
GelenDizi[i] = GelenDizi[i] + Artis;
}
return GelenDizi;
}
public int Rastgele(int EnBuyukDeger) {
return (int) (Math.random() * EnBuyukDeger);
}
}
Yorumunuzu Ekleyin