MODUL 4
MEMBANGUN APLIKASI BERBASIS GUI
Disusun oleh:
Kelas C
2022
BAB I
HASIL DAN TUGAS PRAKTIKUM
import java.awt.Color;
import java.awt.Frame;
/*
* 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.
*/
/**
*
* @author acer
*/
public class FrameExample {
private Frame f;
public FrameExample() {
f = new Frame("Hello Out There!");
}
- Tampilan Program
Gambar 1 Tampilan FrameExample.java
- Analisa
Gambar di atas merupakan tampilan dari hasil compile program
FrameExample. Program ini memiliki output berupa frame dengan ukuran
170 x 170 dan memiliki background warna biru.
1.2 Program 4-2. FrameWithPanel.java
- Source Code
package modul4;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Panel;
/**
*
* @author acer
*/
public class FrameWithPanel {
private Frame f;
- Tampilan Program
- Analisa
Gambar di atas merupakan tampilan dari hasil compile program
FrameWithPanel. Program berbasis GUI ini menampilkan perbedaan panel
dan frame, dimana keduanya tersebut memiliki ukuran dan warna yang
berbeda. Kotak yang memiliki warna biru dinamakan dengan frame,
sedangkan kotak yang berwarna kuning adalah panel.
1.3 Program 4-3. GraphicPanel.java
- Source Code
package modul4;
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Panel;
/**
*
* @author acer
*/
public class GraphicPanel extends Panel{
public GraphicPanel() {
setBackground(Color.black);
}
public void paint(Graphics g) {
g.setColor(new Color(0,255,0)); //green
g.setFont(new Font("Helvetica", Font.PLAIN,16));
g.drawString("Hello GUI world!", 30 , 100);
g.setColor(new Color(1.0f, 0, 0)); //red
g.fillRect(30, 100, 150, 10);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Frame f =new Frame("Testing Graphics Panel");
GraphicPanel gp = new GraphicPanel();
f.add(gp);f.setSize(600, 300);
f.setVisible(true);
}
}
- Tampilan Program
- Analisa
Gambar di atas merupakan tampilan dari hasil compile program
GraphicPanel. Program berbasis GUI ini menampilkan tulisan berwarna
pada sebuah frame, tulisan ini dapat diubah warnanya ataupun fontnya
sesuai dengan keinginan.
1.4 Program 4-4. FrameWControls.java
- Source Code
package modul4;
import java.awt.*;
import java.awt.Frame;
/**
*
* @author acer
*/
public class FrameWControls extends Frame{
public FrameWControls() {}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
FrameWControls fwc = new FrameWControls();
fwc.setLayout(new FlowLayout());
fwc.setSize(600, 600);
fwc.add(new Button("Test Me!"));
fwc.add(new Label("Labe"));
fwc.add(new TextField());
CheckboxGroup cbg = new CheckboxGroup();
fwc.add(new Checkbox("chk1", cbg, true));
fwc.add(new Checkbox("chk2", cbg, false));
fwc.add(new Checkbox("chk3", cbg, false));
List list = new List(3, false);
list.add("MTV");list.add("V");
fwc.add(list);
Choice chooser = new Choice();
chooser.add("Avril");
chooser.add("Monica");
chooser.add("Britney");
fwc.add(chooser);
fwc.add(new Scrollbar());
fwc.setVisible(true);
}
- Tampilan Program
- Analisa
Gambar di atas merupakan tampilan dari hasil compile program
FrameWControls. Program berbasis GUI ini menampilkan sebuah frame
yang berisikan button input, radio button, textbox, checkbox, dan
combobox.
1.5 Program 4-5. FlowLayoutDemo.java
- Source Code
package modul4;
import java.awt.Frame;
import java.awt.*;
/**
*
* @author acer
*/
public class FlowLayoutDemo extends Frame{
public FlowLayoutDemo() {}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
FlowLayoutDemo fld = new FlowLayoutDemo();
fld.setLayout(new FlowLayout(FlowLayout.RIGHT,
10, 10));
fld.add(new Button("ONE"));
fld.add(new Button("TWO"));
fld.add(new Button("THREE"));
fld.setSize(100, 100);
fld.setVisible(true);
}
- Tampilan Program
- Analisa
Gambar di atas merupakan tampilan dari hasil compile program
FlowLayoutDemo. Program berbasis GUI ini menampilkan sebuah frame
dengan beberapa button yang memiliki fungsi flow.
1.6 Program 4-6. BorderLayoutDemo.java
- Source Code
package modul4;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.*;
/**
*
* @author acer
*/
public class BorderLayoutDemo extends Frame{
public BorderLayoutDemo() {}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
BorderLayoutDemo bld = new BorderLayoutDemo();
bld.add(new Button("NORTH"), BorderLayout.NORTH);
bld.add(new Button("SOUTH"), BorderLayout.SOUTH);
bld.add(new Button("EAST"), BorderLayout.EAST);
bld.add(new Button("WEST"), BorderLayout.WEST);
bld.add(new Button("CENTER"),
BorderLayout.CENTER);
bld.setSize(200,200);
bld.setVisible(true);
}
- Tampilan Program
- Analisa
Gambar di atas merupakan tampilan dari hasil compile program
BorderLayoutDemo. Program berbasis GUI ini menampilkan sebuah
frame yang memiliki button, dimana button-button ini menunjukkan
bahwa untuk mengatur posisi button seperti ini harus menggunakan border
layout.
1.7 Program 4-7. ComplexLayout.java
- Source Code
package modul4;
import java.awt.Frame;
import java.awt.*;
/**
*
* @author acer
*/
public class ComplexLayout extends Frame{
public ComplexLayout(){}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
ComplexLayout cl = new ComplexLayout ();
Panel panelNorth = new Panel ();
Panel panelCenter = new Panel ();
Panel panelSouth = new Panel ();
panelNorth.add(new Button("ONE"));
panelNorth.add(new Button("TWO"));
panelNorth.add(new Button("THREE"));
panelCenter.setLayout(new GridLayout(4,4));
panelCenter.add(new TextField("1st"));
panelCenter.add(new TextField("2st"));
panelCenter.add(new TextField("3rd"));
panelCenter.add(new TextField("4th"));
panelSouth.setLayout(new BorderLayout());
panelSouth.add(new Checkbox ("Choose
me !"),BorderLayout.CENTER);
panelSouth.add(new Checkbox ("I'm
here !"),BorderLayout.EAST);
panelSouth.add(new Checkbox ("Pick
me !"),BorderLayout.WEST);
cl.add(panelNorth, BorderLayout.NORTH);
cl.add(panelCenter, BorderLayout.CENTER);
cl.add(panelSouth, BorderLayout.SOUTH);
cl.setVisible(true);
}
- Tampilan Program
- Analisa
Gambar di atas merupakan tampilan dari hasil compile program
ComplexLayout. Program berbasis GUI ini menampilkan sebuah frame
yang memiliki layout complex. Pada frame ini terdapat button, textfield,
dan checkbox.
1.8 Program 4-8. MyContainer.java
- Source Code
package modul4;
import javax.swing.*;
/**
*
* @author acer
*/
public class MyContainer {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame container = new JFrame("window utama");
container.setDefaultCloseOperation(JFrame.EXIT_ON
_CLOSE);
container.setSize(300,100);container.setLocation(
200,200);
container.setVisible(true);
}
- Tampilan Program
- Analisa
Gambar di atas merupakan tampilan dari hasil compile program
MyContainer. Program berbasis GUI ini menampilkan sebuah window,
dimana window ini dibuat dengan menggunakan Jframe. Frame ini
memiliki style LookAndFeelDecorated.
1.9 Program 4-9. SwingDemo.java
- Source Code
package modul4;
import java.awt.*;
import javax.swing.*;
/**
*
* @author acer
*/
public class SwingDemo {
JFrame frame;
JPanel panel;
JTextField textField;
JButton button;
Container contentPane;
public SwingDemo() {}
void launchFrame() {
frame = new JFrame("My First Swing Application");
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);}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
SwingDemo sd = new SwingDemo();
sd.launchFrame();
}
- Tampilan Program
- Analisa
Gambar di atas merupakan tampilan dari hasil compile program
SwingDemo. Program berbasis GUI ini menggunakan Jframe yang ada
pada swing, di dalam frame window ini terdapat textfield yang memiliki
isi tulisan “Default Text”, dan sebuah button.
1.10 Program 4-10. MainClassJavaFX.java
- Source Code
package modul4;
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 acer
*/
public class MainClassJavaFX extends Application {
@Override
public void start(Stage primaryStage) {
BorderPane p= new BorderPane();
Text t = new Text ("Hello FX");
t.setFont(Font.font("Arial",60));
p.setCenter(t);
primaryStage.setScene(new Scene(p));
primaryStage.show();
};
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
- Tampilan Program
- Analisa
Gambar di atas merupakan tampilan dari hasil compile program
MainClassJavaFX. Program berbasis GUI ini menggunakan Java FX,
frame yang muncul memiliki sebuah tulisan yang type fontnya adalah arial
dan berukuran 60.
BAB II
KESIMPULAN