Selasa, 15 April 2014

Rian Saadillah

Belajar Translasi dan Pembesaran pada Java

Teman-teman kali ini kita akan belajar translasi dan pembesaran pada java, tapi terlebih dahulu kita kita harus tahu apasih Translasi dan Pembesaran itu. Saya akan sedikit menyinggung ke teorinya hehehe nggak apa2 kan..?

Transformasi adalah proses perubahan baik bentuk maupun letak. Sedangkan translasi adalah perpindahan suatu obyek ke tempat lain dengan bentuk sama, sedangkan pembesaran adalah berubah ukuran suatu objek dengan bentuk masih tetap sama.

Baiklah teman-teman, saya tau teman-teman gak suka teori lebih suka langsung ke TKP, kita akan mentransformasi bentuk kotak dulu atau rectangle, nanti kita belajar sesuatu yang lebih besar lagi OK...

Langsung aja ya teman-teman :

package Belajar;

import java.awt.Font;
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

 public class Mobil extends JPanel {
  public final static int GESER= 1, BESAR = 2;
  private int shape;
  private String teks="";

  public void paintComponent( Graphics g ) {
  super.paintComponent( g );

Graphics2D g2=(Graphics2D) g ;

Rectangle2D kotak=new Rectangle2D.Double(50, 10, 60, 60 );
g2.draw(kotak);
if ( shape == GESER)
  {
kotak=new Rectangle2D.Double( 60+50, 40+10, 60,  60);
g2.draw(kotak);
teks="Translasi";
}
else if ( shape == BESAR)
{
kotak=new Rectangle2D.Double( 60, 40, 2*60,  2*60);
g2.draw(kotak);
teks="Pembesaran";

}

  Font huruf=new Font("Arial",Font.BOLD,20);
g2.setFont(huruf);
g2.drawString(teks,1,300);
  }
  public void draw( int shapeToDraw ) {
  shape = shapeToDraw;
  repaint();
  }
 } 

Simpan program diatas dengan nama Mobil.java

Tulis lagi class Mobil1 dibawah ini :

package Belajar;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Mobil_tes extends JFrame {
private JPanel buttonPanel;
private Mobil gambar;
private JButton TbGeser,TbBesar;

public Mobil_tes() {
super("Translasi dan Pembesaran");
gambar= new Mobil();
gambar.setBackground(Color.white);

TbGeser= new JButton( "Translasi" );
TbGeser.addActionListener(


new ActionListener() {
public void actionPerformed( ActionEvent event ) {
gambar.draw( Mobil.GESER);
}



); 

TbBesar= new JButton( "Pembesaran" );
TbBesar.addActionListener(

new ActionListener() {

public void actionPerformed( ActionEvent event ) {
gambar.draw( Mobil.BESAR);
}



); 

buttonPanel = new JPanel();
buttonPanel.setLayout( new GridLayout( 1, 2 ) );
buttonPanel.add( TbGeser);
buttonPanel.add( TbBesar);

Container container = getContentPane();
container.add( gambar, BorderLayout.CENTER );
container.add( buttonPanel, BorderLayout.SOUTH);
setSize( 600, 400);
setVisible( true );
}

public static void main( String args[] ){
Mobil_tes application = new Mobil_tes();
application.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE );
}

}

Kalau sudah selesai teman-teman jalanin programnya, maka hasilnya akan seperti di bawah ini

Kira-kira outputnya seperti diatas teman-teman.

Rian Saadillah

About Rian Saadillah -

Author Description here.. Nulla sagittis convallis. Curabitur consequat. Quisque metus enim, venenatis fermentum, mollis in, porta et, nibh. Duis vulputate elit in elit. Mauris dictum libero id justo.

Subscribe to this Blog via Email :