Java da
grafik çizdirebilmek için “paint(Graphics g)” metodunu kullanıyoruz. Basit bir şekilde
aşağıdaki gibi bir kod yazarak grafiklerimizin penceremizde görünmesini sağlayabiliriz.
import
java.awt.Graphics;
import
java.awt.event.ActionEvent;
import
java.awt.event.ActionListener;
import
javax.swing.JFrame;
public class
GraphicsDemo extends JFrame implements ActionListener{
public GraphicsDemo( ){
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 300);
setVisible(true);
}
public void paint(Graphics g){
super.paint(g);
//Kodlar Buraya
}
public void actionPerformed(ActionEvent event){
}
public static
void main(String[ ] args) {
GraphicsDemo demo
= new GraphicsDemo( );
}
}
|
“super.paint(g);” cümlesi ile Graphics sınıfına ait
“g” nesnesini kullanmamızı sağlar. Aşağıda da “g” nesnemiz kullanılarak bazı şekiller
hakkında bilgi verilmiştir.
Doğru
g.drawLine(int x1,int y1,int x2,int y2);/*x1 ve y1 noktası
ile x2 ve y2 noktalarını birleştirerek doğruyu oluşturur.*/
Dörtgen
g.clearRect(int
x,int y,int width,int height);//pencere rengiyle ayni renkte dörtgen
g.drawRoundRect(int
x,int y,int width,int height,int
arcWidth,int arcHeight);//Köşeleri oval dörtgen , içi boş
g.fillRoundRect(int
x,int y,int width,int height,int arcWidth,int arcHeight);//Köşeleri oval dörtgen
, içi dolu
Oval
g.drawOval(int
x,int y,int width,int height);
g.fillOval(int
x,int y,int width,int height);
Daire-Çember
g.drawArc(int
x,int y,int width,int height,int
startAngle,inta rcAngle);/*arcAngle kaç derecelik bir çember parçası oluşturacağını
belirler. Eksi değer alabilir.*/
g.fillArc(int
x,int y,int width,int height,int startAngle,int arcAngle);/*arcAngle kaç
derecelik bir daire parçası oluşturacağını belirler. Eksi değer alabilir.*/
Çokgen
g.drawPolygon(int[]
xPoints,int[] yPoints,int nPoints);
g.drawPolygon(int[] xPoints,int[] yPoints,int nPoints);
Örnek //Aşağıdaki örnekte iki kare ve bir buton bulunmaktadır.
Butona basıldıkça bu kareler birbirine yaklaşmaktadır.
import
java.awt.BorderLayout;
import
java.awt.Graphics;
import java.awt.event.ActionEvent;
import
java.awt.event.ActionListener;
import
javax.swing.JButton;
import
javax.swing.JFrame;
public class
GraphicsDemo extends JFrame implements ActionListener {
JButton buton = new
JButton("Yaklas");
int a = 0;
int b = 440;
public
GraphicsDemo( ) {
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500,
200);
setVisible(true);
add(buton , BorderLayout.SOUTH);
buton.addActionListener(this);
}
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.red);
g.fillRect(10 + a, 70, 50, 50);
g.fillRect(b - a, 70,
50, 50);
}
public void actionPerformed(ActionEvent event) {
a +=
10;
repaint(
);
}
public static
void main(String[ ] args) {
GraphicsDemo
demo = new
GraphicsDemo( );
}
}
|
Ekran Görüntüleri
0 yorum:
Yorum Gönder