Source code pengembangan 3 - Kapal Ujan
package Prak_3;
/**
*
* .:: Praktikum 3 ::.
* 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 Prak3_Pengembangan extends JApplet {
public static void main(String s[]) {
JFrame frame = new JFrame();
frame.setTitle(".:: K_09650003_Pengembangan3_Rosita ::.");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JApplet applet = new Prak3_Pengembangan();
applet.init();
frame.getContentPane().add(applet);
frame.pack();
frame.setVisible(true);
frame.setResizable(false);
}
public void init() {
JPanel panel = new Panel2D();
getContentPane().add(panel);
}
}
class Panel2D extends JPanel {
public Panel2D() {
setPreferredSize(new Dimension(600,450));
setBackground(new Color(222, 225, 225));
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
GeneralPath gp = new GeneralPath();
//laut
g2.setColor(new Color(62, 174, 246));
Shape laut = new Rectangle2D.Double(0, 202, 610, 500);
g2.fill(laut);
//gambar perahu
g2.setColor(new Color(197, 162, 114));
gp.moveTo(215, 340);
gp.lineTo(355, 340);
gp.lineTo(340, 365);
gp.lineTo(230, 365);
gp.lineTo(215, 340);
gp.closePath();
g2.fill(gp);
GeneralPath gp1 = new GeneralPath();
g2.setColor(Color.black);
gp1.moveTo(240, 340);
gp1.lineTo(330, 340);
gp1.lineTo(310, 320);
gp1.lineTo(260, 320);
gp1.lineTo(240, 340);
gp1.closePath();
g2.fill(gp1);
g2.setColor(Color.white);
Shape bulet1 = new Ellipse2D.Double(260, 325, 10,10);
g2.fill(bulet1);
Shape bulet2 = new Ellipse2D.Double(280, 325, 10,10);
g2.fill(bulet2);
Shape bulet3 = new Ellipse2D.Double(300, 325, 10,10);
g2.fill(bulet3);
g2.setColor(Color.red);
Shape kotak = new Rectangle2D.Double(265, 300, 40, 20);
g2.fill(kotak);
g2.setColor(new Color(133 , 125, 131));
Shape cerobong = new Rectangle2D.Double(277, 270, 10, 30);
g2.fill(cerobong);
//bendera
g2.setColor(Color.black);
BasicStroke garis = new BasicStroke(2.0f);
g2.setStroke(garis);
g2.drawLine(335, 340, 335, 301);
g2.setColor(Color.red);
Shape bendera1 = new Rectangle2D.Double(336, 300, 30, 10);
g2.fill(bendera1);
g2.setColor(Color.white);
Shape bendera2 = new Rectangle2D.Double(336, 310, 30, 10);
g2.fill(bendera2);
//ombak
g2.setColor(Color.white);
g2.setStroke(new BasicStroke(3.5f));
g2.draw(new CubicCurve2D.Double(20, 230, 60, 190, 100, 270, 140, 230));
g2.draw(new CubicCurve2D.Double(25, 380, 65, 330, 105, 430, 135, 380));
g2.draw(new CubicCurve2D.Double(250, 420, 290, 380, 330, 460, 370, 420));
g2.draw(new CubicCurve2D.Double(70, 300, 110, 250, 150, 350, 190, 300));
g2.draw(new CubicCurve2D.Double(370, 230, 410, 190, 450, 270, 490, 230));
g2.draw(new CubicCurve2D.Double(400, 330, 440, 280, 480, 380, 520, 330));
g2.draw(new CubicCurve2D.Double(460, 420, 500, 370, 540, 470, 580, 420));
g2.draw(new CubicCurve2D.Double(180, 250, 220, 210, 260, 270, 300, 240));
g2.draw(new CubicCurve2D.Double(480, 290, 520, 250, 560, 330, 600, 290));
//gambar matahari
g2.setColor(new Color(246, 252, 2));
Shape matahari = new Ellipse2D.Double(50, 20, 50, 50);
g2.fill(matahari);
g2.setColor(new Color(70, 68, 70));
Shape mata_1 = new Ellipse2D.Double(58, 31, 12, 12);
g2.fill(mata_1);
Shape mata_2 = new Ellipse2D.Double(80, 31, 12, 12);
g2.fill(mata_2);
//gambar garis matahari
g2.setColor(new Color(255, 145,0));
g2.setStroke(new BasicStroke(3.0f));
g2.drawLine(75, 15, 75, 8);
g2.drawLine(50, 20, 55, 25);
g2.drawLine(100, 20, 95, 25);
g2.drawLine(45, 40, 39, 40);
g2.drawLine(111, 40, 105, 40);
//awan dekat matahari
Shape w1 = new Ellipse2D.Double(30, 48, 55, 50);
Shape w2 = new Ellipse2D.Double(65,45, 90,55);
Shape w3 = new Ellipse2D.Double(135,48,60,50);
Area wa1 = new Area(w1);
Area wa2 = new Area(w2);
Area wa3 = new Area(w3);
BasicStroke bsThickLine_1 = new BasicStroke(6.0f);
g2.setStroke(bsThickLine_1);
g2.setPaint(new Color(107, 152, 253));
g2.draw(w1);
g2.draw(w2);
g2.draw(w3);
wa2.add(wa1);
wa3.add(wa2);
g2.setPaint(Color.white);
g2.fill(wa3);
//awan kiri
Shape s1 = new Ellipse2D.Double(240,30,40,40);
Shape s2 = new Ellipse2D.Double(270,30,40,40);
Shape s3 = new Ellipse2D.Double(300,30,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 kanan
Shape s11 = new Ellipse2D.Double(490,40,40,40);
Shape s21 = new Ellipse2D.Double(520,40,40,40);
Shape s31 = new Ellipse2D.Double(550,40,40,40);
Area a11 = new Area(s11);
Area a21 = new Area(s21);
Area a31 = new Area(s31);
BasicStroke bsThickLine1 = new BasicStroke(7.0f);
g2.setStroke(bsThickLine1);
g2.setPaint(new Color(107, 224, 241));
g2.draw(s11);
g2.draw(s21);
g2.draw(s31);
a21.add(a11);
a31.add(a21);
g2.setPaint(Color.white);
g2.fill(a31);
//awan tengah
Shape s111 = new Ellipse2D.Double(360,60,40,40);
Shape s211 = new Ellipse2D.Double(390,60,40,40);
Shape s311 = new Ellipse2D.Double(420,60,40,40);
Area a111 = new Area(s111);
Area a211 = new Area(s211);
Area a311 = new Area(s311);
BasicStroke bsThickLine11 = new BasicStroke(7.0f);
g2.setStroke(bsThickLine11);
g2.setPaint(new Color(107, 152, 253));
g2.draw(s111);
g2.draw(s211);
g2.draw(s311);
a211.add(a111);
a311.add(a211);
g2.setPaint(Color.white);
g2.fill(a311);
//hujan
g2.setColor(Color.white);
float[] dashPattern;
float dashPhase = 0.0f;
dashPattern = new float[2];
dashPattern[0] = 20;
dashPattern[1] = 10;
BasicStroke bsDashed = new BasicStroke(2.0f, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_BEVEL, 2.0f, dashPattern, dashPhase);
g2.setStroke(bsDashed);
g2.drawLine(5, 70, 85, 370);
g2.drawLine(20, 70, 100, 370);
g2.drawLine(35, 70, 115, 370);
g2.drawLine(50, 70, 130, 370);
g2.drawLine(65, 70, 145, 370);
g2.drawLine(80, 70, 160, 370);
g2.drawLine(95, 70, 175, 370);
g2.drawLine(110, 70, 190, 370);
g2.drawLine(125, 70, 205, 370);
g2.drawLine(140, 70, 220, 370);
g2.drawLine(155, 70, 225, 330);
g2.drawLine(170, 70, 240, 330);
g2.drawLine(185, 70, 255, 330);
g2.drawLine(200, 70, 260, 300);
g2.drawLine(215, 70, 275, 300);
g2.drawLine(230, 70, 285, 270);
g2.drawLine(245, 70, 305, 300);
g2.drawLine(260, 70, 330, 330);
g2.drawLine(275, 70, 340, 300);
g2.drawLine(290, 70, 355, 300);
g2.drawLine(305, 70, 370, 300);
g2.drawLine(320, 70, 400, 370);
g2.drawLine(335, 70, 415, 370);
g2.drawLine(350, 70, 430, 370);
g2.drawLine(365, 70, 445, 370);
g2.drawLine(380, 70, 460, 370);
g2.drawLine(395, 70, 475, 370);
g2.drawLine(410, 70, 490, 370);
g2.drawLine(425, 70, 505, 370);
g2.drawLine(440, 70, 520, 370);
g2.drawLine(455, 70, 535, 370);
g2.drawLine(470, 70, 550, 370);
g2.drawLine(485, 70, 565, 370);
g2.drawLine(500, 70, 580, 370);
g2.drawLine(515, 70, 595, 370);
g2.drawLine(530, 70, 605, 370);
g2.drawLine(545, 70, 615, 370);
g2.drawLine(560, 70, 630, 370);
g2.drawLine(575, 70, 645, 370);
g2.drawLine(590, 70, 660, 370);
g2.drawLine(605, 70, 675, 370);
//namaQ
g2.setColor(Color.white);
Font font = new Font("Comic Sans MS", Font.ITALIC, 16);
g2.setFont(font);
g2.drawString("K_09650003_Rosita", 5, 450);
//menggambar pemandangan
g2.draw(gp);
}
}
Source code juga bisa didownload di indowebster atau mediafire

0 komentar:
Posting Komentar