Sabtu, 16 April 2011

Praktikum Grafkom Pertemuan 2 - Pengembangan


Source Code Pengembangan 2 - Pemandangan:
package Prak_2;

/*
 *        .::  Praktikum 2  ::.
 *  Nama    : Rahmadhani Rosita Dewi
 *  NIM     : 09650003
 *  Kelas   : K
 *
 *
 */

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.geom.*;
import javax.swing.JApplet.*;
import java.awt.font.*;

public class Prak2_Pengembangan extends JApplet {
    public static void main(String s[]) {
        JFrame frame = new JFrame();
        frame.setTitle(".::  K_09650003_Pengembangan_Rosita  ::.");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JApplet applet = new Prak2_GeneralPath();
        applet.init();
        frame.getContentPane().add(applet);
        frame.pack();
        frame.setVisible(true);
    }

    public void init() {
        JPanel panel = new Panel2D();
        getContentPane().add(panel);
    }

class Panel2D extends JPanel {
    public Panel2D() {
        setPreferredSize(new Dimension(600,450));
        setBackground(Color.white);
    }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D)g;
        GeneralPath gp = new GeneralPath();        

        //gambar gunung      
        g2.setColor(new Color(161, 234, 46));
        Shape gunung =new QuadCurve2D.Double(0, 200, 180, 10, 390, 200);
        g2.fill(gunung);

        g2.setColor(new Color(96, 195, 11));
        Shape gunung1 =new QuadCurve2D.Double(270, 200, 430, 30, 600, 200);
        g2.fill(gunung1);

        //gambar garis gunung
        g2.setColor(new Color(216, 192, 129));
        g2.setStroke(new BasicStroke(3.0f));
        g2.drawLine(0, 200, 600, 200);

        //gambar matahari
        g2.setColor(new Color(246, 252, 2));
        Shape matahari = new Ellipse2D.Double(520, 20, 50, 50);        
        g2.fill(matahari);

        //gambar garis matahari
        g2.setColor(Color.orange);
        g2.setStroke(new BasicStroke(2.0f));
        g2.drawLine(545, 15, 545, 8);
        g2.drawLine(545, 75, 545, 82);
        g2.drawLine(515, 45, 508, 45);
        g2.drawLine(575, 45, 582, 45);

        //wajah matahari
        g2.setColor(Color.black);
        Shape mata_kanan = new Ellipse2D.Double(530, 35, 10, 10);
        g2.fill(mata_kanan);

        Shape mata_kiri = new Ellipse2D.Double(550, 35, 10, 10);
        g2.fill(mata_kiri);

        g2.draw(new QuadCurve2D.Double(530, 55, 545, 70, 560, 55));

        //laut
        g2.setColor(new Color(47, 173, 231));
        Shape laut = new Rectangle2D.Double(0, 202, 600, 500);
        g2.fill(laut);
        
        //efek laut
        g2.setColor(Color.white);
        g2.setStroke(new BasicStroke(3.5f));
        g2.draw(new CubicCurve2D.Double(30, 250, 50, 200, 80, 300, 110, 250));
        g2.draw(new CubicCurve2D.Double(45, 350, 55, 300, 85, 400, 115, 350));
        g2.draw(new CubicCurve2D.Double(170, 400, 190, 350, 220, 450, 250, 400));
        g2.draw(new CubicCurve2D.Double(140, 300, 160, 250, 190, 350, 220, 300));

        g2.draw(new CubicCurve2D.Double(330, 230, 350, 180, 380, 280, 410, 230));
        g2.draw(new CubicCurve2D.Double(440, 330, 460, 280, 490, 380, 520, 330));
        g2.draw(new CubicCurve2D.Double(500, 420, 520, 370, 550, 470, 580, 420));

        //jalan
        g2.setColor(new Color (176, 175, 171));
        Shape jalan = new CubicCurve2D.Double(250, 200, 450, 300, 550, 500, 300, 500);
        g2.fill(jalan);

        //gambar perahu
        g2.setColor(Color.black);
        g2.setStroke(new BasicStroke(2.0f));
        g2.drawLine(520, 275, 520, 240);

        g2.setColor(Color.red);
        Shape bendera1 = new Rectangle2D.Double(521, 239, 30, 10);
        g2.fill(bendera1);

        g2.setColor(Color.white);
        Shape bendera2 = new Rectangle2D.Double(521, 249, 30, 10);
        g2.fill(bendera2);

        g2.setColor(new Color(246 , 253, 0));
        Shape perahu = new Rectangle2D.Double(490, 275, 60, 20);
        g2.fill(perahu);

        //awan 1
        Shape s1 = new Ellipse2D.Double(290,20,40,40);
        Shape s2 = new Ellipse2D.Double(320,20,40,40);
        Shape s3 = new Ellipse2D.Double(350,20,40,40);

        Area a1 = new Area(s1);
        Area a2 = new  Area(s2);
        Area a3 = new Area(s3);

        BasicStroke bsThickLine = new BasicStroke(7.0f);
        g2.setStroke(bsThickLine);
        g2.setPaint(new Color(107, 224, 241));

        g2.draw(s1);
        g2.draw(s2);
        g2.draw(s3);

        a2.add(a1);
        a3.add(a2);

        g2.setPaint(Color.white);          
        g2.fill(a3);

        //awan 2
        Shape w1 = new Ellipse2D.Double(45,25,45,40);
        Shape w2 = new Ellipse2D.Double(75,25,45,40);
        Shape w3 = new Ellipse2D.Double(105,25,45,40);

        Area wa1 = new Area(w1);
        Area wa2 = new  Area(w2);
        Area wa3 = new Area(w3);

        BasicStroke bsThickLine_1 = new BasicStroke(7.0f);
        g2.setStroke(bsThickLine_1);
        g2.setPaint(new Color(107, 224, 241));

        g2.draw(w1);
        g2.draw(w2);
        g2.draw(w3);

        wa2.add(wa1);
        wa3.add(wa2);

        g2.setPaint(Color.white);
        g2.fill(wa3);
        
        //namaQ
        g2.setColor(Color.white);
        Font font = new Font("Comic Sans MS", Font.ITALIC, 16);
        g2.setFont(font);
        g2.drawString("K_09650003_Rosita", 5, 444);

        //menggambar pemandangan
        g2.draw(gp);

    }
}
}

Source code juga bisa di download di indowebster atau mediafire

0 komentar:

Posting Komentar

 

Copyright © - Design by Free CSS Templates | Blogger Theme by BTDesigner | Powered by Blogger | Edited by rossseetha