Membuat Tipe-Tipe Garis Di Java 2D

Dalam grafika komputer tidak pernah lepas dari geometri. Yang mencakup pemodelan garis-garis. Dengan garis maka sanggup terbentuk sebuah objek geometri.

Di Java 2D tersedia interface stroke untuk menampilkan garis-garis. Implementasi interface diantaranya memakai BasicStroke. Kelas BasicStroke menyediakan pengaturan untuk bentuk garis, lebar, campuran antar garis dan garis putus-putus.

Berikut ialah pola implementasi BasicStroke.

strokePanel.java
/**  *  * @author Wim Sonevel  */ import java.awt.*; import javax.swing.JPanel; public class strokePanel extends JPanel{      public strokePanel(){         setPreferredSize(new Dimension(500, 400));         setBackground(Color.WHITE);     }      @Override     public void paintComponent(Graphics g){         super.paintComponent(g);         Graphics2D g2=(Graphics2D)g;         //menggambar sebuah garis dengan ketebalan 3 pixel         BasicStroke bsGarisTebal=new BasicStroke(3.0f);         g2.setStroke(bsGarisTebal);         g2.drawLine(30, 50, 30, 250);          //array untuk mendeskripsikan garis putus - putus         float[]dashPattern;          //offset dimana garis putus-putus harus dimulai         float dashPhase=0.0f;          //pola garis putus-putus         dashPattern=new float[10];         dashPattern[0]=4.0f;         dashPattern[1]=5.0f;         dashPattern[2]=8.0f;         dashPattern[3]=5.0f;         dashPattern[4]=12.0f;         dashPattern[5]=5.0f;         dashPattern[6]=16.0f;         dashPattern[7]=5.0f;         dashPattern[8]=20.0f;         dashPattern[9]=5.0f;          //pendefinisian dari Basic Stroke yang akan dipakai         BasicStroke bsBerpola=new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 2.0f, dashPattern, dashPhase);         g2.setStroke(bsBerpola);          //menggambar sebuah garis dengan pola putus-putus         g2.drawLine(60, 50, 60, 250);          //sebuah pola putus-putus yang sederhana dengan panjang garis(dash) 20         //dan lebar jarak 10         dashPattern=new float[2];         dashPattern[0]=20;         dashPattern[1]=10;         //pendefinisian BasicStroke yang akan dipakai         BasicStroke bsDashed=new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 2.0f, dashPattern, dashPhase);         g2.setStroke(bsDashed);          //menggambar sebuah garis (vertikal) dengan pola yang telah         //didefinisikan sebelumnya         g2.drawLine(120, 50, 120, 250);          //menggambar sebuah garis (diagonal) dengan pola yang         //telah didefinisikan sebelumnya         g2.drawLine(150, 50, 350, 250);          //menggunakan pola garis putus-putus yang sama menyerupai sebelumnya         //tetapi dengan offset 10         dashPhase=10.0f;         //pendefinisian BasicStroke yang akan dipakai         BasicStroke bsDashedShifted=new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 2.0f, dashPattern, dashPhase);         //menggambar sebuah garis (vertikal) dengan pola putus-putus yang telah         //didefinisikan sebelumnya         g2.setStroke(bsDashedShifted);         g2.drawLine(90, 50, 90, 250);     } }   

Kemudian kelas panel diatas dipanggil di kelas TesStroke.java
/**  *  * @author Wim Sonevel  */ import javax.swing.*; public class TesStroke extends JApplet{      @Override     public void init(){         JPanel panel=new strokePanel();         getContentPane().add(panel);     }      public static void main(String[]args){         JFrame frame=new JFrame();         frame.setTitle("Garis");         frame.setVisible(true);         //frame.setLocationRelativeTo(null);         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         JApplet applet=new TesStroke();         applet.init();         frame.getContentPane().add(applet);         frame.pack();      } } 


Outputnya :

Comments

Popular posts from this blog

Pewarnaan Objek Geometri Di Java 2D

(Tutorial Ios) Custom Uitableviewcell In Uitableview

Tugas Komplemen Terakhir