PEEMROGRAMAN OBJEK 2
MODUL 4
MEMBANGUN APLIKASI BERBASIS GUI
DISUSUN OLEH:
ERRAS LINDIARDA MAHENTAR [3411191102]
HASIL PRAKTIKUM
1. Program 4-1 FrameExample.java
Source Code
import java.awt.Color;
import java.awt.Frame;
public class FrameExample {
private Frame f;
public FrameExample() {
f = new Frame("Hello Out There!");
}
public void launchFrame() {
f.setSize(170,170);
f.setBackground(Color.blue);
f.setVisible(true);
}
public static void main(String [] args) {
FrameExample guiWindow = new FrameExample();
guiWindow.launchFrame();
}
}
Hasil eksekusi
Analisis
f.add(pan);
f.setVisible(true);
}
Analisi
Program diatas merupakan program yang berbasis GUI atau Grapics User
interface dengan membuat frame yang di dalamnya terdapat panel dengan ukuran
frame 200x200 dan ukuran panel 100x100 untuk membedakan antara keduanya, dapat
dilihat pada gambar datas bahwa yang berwarna biru merupakan frame dan yang
berwana kuning merupakan Panel. Untuk memberi warna suatu panel atau frame
dengan menggunakan setBackground(Color.”warna yang diinginkan”);
Tugas
Perbedaan Panel dan Frame pada java
Frame merupakan Bingkai layar baru yang berada didalam bingkai utama
Sedangkan Panel merupakan panel yang dapat daigunakan sebagai papan dari
suatu bidang atau layar lain.
3. Program 4-3 GraphicPanel.java
Source Code
import java.awt.*;
Tugas
Buatlah Beberapa Tulisan dengan mencoba beberapa Style
import java.awt.*;
Analisis
Program diatas merupakan program yang berbasis GUI atau Grapics User
interface dengan membuat frame Yang didalamnya berisikan Bebeapa tulisan
yang telah di atur sedemikian rupa dimana kita bebas mengubah warna, text,
dan font yang kita inginkan.
Hasil eksekusi
Hasil eksekusi
Tugas
Buatlah Layout Seperti pada Gambar 4.4
import javax.swing.JButton;
import javax.swing.JFrame;
tgs.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tgs.setResizable(true);
tgs.setVisible(true);
Hasil eksekusi
Hasil eksekusi
Analisis
Program diatas merupakan program yang Berbasis GUI yang di dalam nya terdapat
beberapa button yang di buat dengan menggunakan border layout untuk mengatur
posisi button tersebut.
Analisis
Program Diatas merupakan Program yang berbasis GUI yang merupakan program
yang sudah complex dimana didalamnya terdapat beberapa button, textfield, dan
check box yang terdapat pada java AWT.
Tugas
Buat layout
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.TextField;
Hasil eksekusi
container.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
container.setSize(300,100);
container.setLocation(200,200);
container.setVisible(true);
}
}
Hasil eksekusi
Analisis
Program diatas merupakan program yang Menggunakan JFrame yang dibuat hanya
menampilkan Frame berukuran 300x100 dimana frame tersebut bernama window
utama dan menggunakan frame dengan style LookAndFeelDecorated
public SwingDemo() {
}
void launchFrame() {
frame = new JFrame("My First Swing A pplication");
panel = new JPanel();
textField = new JTextField("Default text");
button = new JButton("Click Me!");
contentPane = frame.getContentPane();
panel.add(textField);
panel.add(button);
contentPane.add(panel, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingDemo sd = new SwingDemo();
sd.launchFrame();
}
}
Hasil eksekusi
Analisis
Program diatas merupakan program yang Menggunakan JFrame yang ada Pada Swing
yang didalamnya terdapat 1 buah textfield yang dapat diisi dengan default text dan 1
buah button.
Tugas
GUI tic-tac-toe
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.KeyEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
Hasil eksekusi
10. Program 4-10 DynamicIntStack.java
Source code
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.StackPane;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
/**
*
* @author Erras LM
*/
public class JavaFXMain extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
Analisis
Program Diatas merupakan program yang meenggunakan JavaFX untuk menampilkan
sebuah tulisan atau text yang menggunakan type font arial dan berukuran 60 serta
telah di set agar text berada di tengah
Tugas
Membuat kalkulator TIP
<?xml version="1.0" encoding="UTF -8"?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
Hasil eksekusi
BAB 3
TUGAS AKHIR
1. Program Instagram
Source code
<?xml version="1.0" encoding="UTF -8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Separator?>
<?import javafx.scene.control.TitledPane?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.i mage.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<image>
<Image url="@../../../../../Pictures/1.jpg"/>
</image>
</ImageView>
<Button layoutX="11.0" layoutY="111.0" mnemonicParsing="false"
prefHeight="25.0" prefWidth="263.0" text="Edit Profil" />
<Label layoutX="11.0" layoutY="87.0" text=" Erras Lindiarda Mahentar" />
<Label layoutX="122.0" layoutY="23.0" text="2" />
<Label layoutX="111.0" layoutY="39.0" text="Posts"/>
<Label layoutX="168.0" layoutY="23.0" text="3M" />
<Label layoutX="152.0" layoutY="39.0" text="Followers" />
<Label layoutX="233.0" layoutY="23.0" text="1" />
<Label layoutX="212.0" layoutY="39.0" text="Followings" />
<ImageView fitHeight="130.0" fitWidth="74.0" layoutX="115.0" layoutY="194.0"
pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../../../../../Pictures/erras3.jpg" />
</image>
</ImageView>
<ImageView fitHeight="27.0" fitWidth="59.0" layoutX="23.0" layoutY="350.0"
pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../../../../../Pi ctures/3.jpg"/>
</image>
</ImageView>
<ImageView fitHeight="27.0" fitWidth="59.0"layoutX="116.0" layoutY="350.0"
pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../../../../../Pictures/4.jpg"/>
</image>
</ImageView>
<ImageView fitHeight="27.0" fitWidth="59.0" layoutX="223.0" layoutY="350.0"
pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../../../../../Pictures/7.jpg"/>
</image>
</ImageView>
<ImageView fitHeight="27.0" fitWidth="59.0"layoutX="171.0" layoutY="350.0"
pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../../../../../Pictures/5.jpg"/>
</image>
</ImageView>
<ImageView fitHeight="27.0" fitWidth="59.0"layoutX="68.0" layoutY="350.0"
pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../../../../../Pictures/6.jpg"/>
</image>
</ImageView>
</children></AnchorPane>
</content>
</TitledPane>