GUI (Graphical User Interface) di Java

Hello teman - teman, kali ini saya akan membahas GUI dalam bahasa pemrograman Java.
GUI (Graphical User Interface) merupakan antarmuka pengguna secara grafis. Nah, untuk lebih jelasnya saya mempunyai contoh coding untuk membuat GUI di Java. Let's check it....

GUI (Graphical User Interface) di Java
ü  Program 1
import java.awt.*;

public class FrameExample {
      private Frame f;
    public FrameExample() {
      f = new Frame ("Hello Out There!");
    }
    public void launchFrame(){
      f.setSize(107,170);
      f.setBackground(Color.blue);
      f.setVisible(true);
    }

    public static void main (String[] args) {
      FrameExample guiWindow = new FrameExample();
      guiWindow.launchFrame();
  }
}

Analisa
Pada program ini, program menggunakan package awt dimana pada package ini memiliki beberapa fungsi, salah satu fungsunya yaitu class frame. Pada program ini membuat sebuah frame dengan ukuran, warna background dan hak aksesnya ditentukan. Terlihat dari potongan program
f.setSize(107,170);
      f.setBackground(Color.blue);
      f.setVisible(true);
yang menjelaskan bahwa ukuran fram adalah (x,y)(107,107) dan background pada frame adalah berwarna biru.

ü  Program 2

import java.awt.*;
public class FrameWithPanel {
      private Frame f;
    public FrameWithPanel() {
      f = new Frame("Frame With Panel");
    }

    public void launchframe(){
      f.setSize(200,200);
      f.setBackground(Color.blue);
      f.setLayout(null); // override daefault layout mgr
      Panel pan = new Panel();
      pan.setSize(100,100);
      pan.setBackground(Color.yellow);
      f.add(pan);
      f.setVisible(true);
    }
    public static void main (String[] args) {
            FrameWithPanel guiWindow = new FrameWithPanel();
            guiWindow.launchframe();
 }
}

Analisa program
Pada program ini, program menggunakan class frame dan class panel. Pada class frame, sama dengan program sebelumnya yaitu ukuran, warna background dan hak aksesnya ditentukan. Kemudian untuk class panel, program membuat sebuah konstanta atau variable baru dari calass panel ini bernama pan.

ü  Program 3

import java.awt.*;

public class GraphicPanel extends Panel {

    public GraphicPanel () {
      setBackground(Color.black);
    }

    public void paint(Graphics g){
      g.setColor(new Color(0,225,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);
    }

    public static void main (String[] args) {
      Frame f = new Frame("testing Graphics Panel");
      GraphicPanel gp = new GraphicPanel();
      f.add(gp);
      f.setSize(600,300);
      f.setVisible(true);
    }
}

Analisa program
Pada program ini, program menggunakan proses penurunan class dimana class GraphicPanel di extends ke class Panel

ü  Program 4

import java.awt.*;
public class FrameWControls extends Frame {
    public FrameWControls() {
    }
    public static void main (String[] args) {
            FrameWControls fwc = new FrameWControls();
            fwc.setLayout(new FlowLayout());// more on this later
            fwc.setSize(600,600);
            fwc.add(new Button("test me!"));
            fwc.add(new Label("label"));
            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);
  }
}

Analisa program
Pada program ini, program juga menggunakan proses penurunan class dimana class fram diextends menjadi class FrameWControl. Pada program ini juga  sama dengan program sebelumnya dimana ukuran frame ditentukan. Pada program ini juga menambahkan checkboxGroup dan chooser.

ü  Program 5

import java.awt.*;
public class FlowLayoutDemo extends Frame{
    public FlowLayoutDemo() {
    }
    public static void main (String[] args) {
            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);
    }
}

Analisa program
Pada program ini, sama dengan program sebelumnya dimana class frame menurunkan class FlowLayoutDemo, dimana program ini menambahkan icon button.
ü  Tugas flow layout

import java.awt.*;
public class TugasFlowLayout extends Frame{
    public TugasFlowLayout() {
    }
    public static void main(String arg[]){
      TugasFlowLayout tfl = new TugasFlowLayout();
      tfl.setLayout(new FlowLayout(FlowLayout.RIGHT, 10,10));
      tfl.add(new Button("Press me"));
      tfl.add(new Button("Don't Press Me !!"));
      tfl.setSize(250, 75);
      tfl.setBackground(Color.blue);
      tfl.setVisible(true);
    } 
}

ü  Program 6

import java.awt.*;
public class BorderLayoutDemo extends Frame {
    public BorderLayoutDemo() {
    }
      public static void main (String[] args) {
        BorderLayoutDemo bld = new BorderLayoutDemo();
        bld.setLayout(new BorderLayout(10,10));
        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);
    }
}

Analisa program
Pada program ini, sama dengan program sebelumnya yaitu menambahkan icon button tetapi pada program ini posisi dari button tersebut ditentukan. Fungsi dari BorderLayout.NORTH adalah menyimpan atau menempatkan icon button di arah utara.

ü  Program 7

import java.awt.*;

public class ComplexLayout extends Frame {

    public ComplexLayout() {
    }
    public static void main(String args []){
      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("2nd"));
      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.setSize(300,300);
      cl.setVisible(true);
    } 
}

Analisa program
Pada program ini, program membuat 3 buah penempatan untuk masing-masing button. Dimana panelNorth berfungsi untuk menampilkan “one, two, three” dan panelCenter berfungsi untuk menampilkan “1st, 2nd, 3rd, 4th” dan panelSouth berfungsi untuk menampilkan pilihan “pick me!!, Choose me !!, dan i’m here !!”.

ü  Tugas Complex Layout

import java.awt.*;

public class TugasComplexLayout extends Frame{
      private Frame tc;
    public TugasComplexLayout() {
      tc = new Frame("GUI TC");
    }
    public void test(){
      Panel tcl = new Panel();
      Panel tcl1 = new Panel();
      tcl.add(new Button("File"));
      tcl.add(new Button("Help"));
      tcl1.add(new Button("West"));
      tcl1.add(new Button("Work Space Region"));
      tc.add(tcl,BorderLayout.NORTH);
      tc.add(tcl1,BorderLayout.SOUTH);
      tc.setSize(200,100);
      tc.setVisible(true);
    }
   
    public static void main(String args []){
      TugasComplexLayout clt = new TugasComplexLayout();
      clt.test();
    }
}


ü  Program 8
import javax.swing.*;

public class MyContainer {
    public static void main(String args []) {
      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);
    } 
}

Analisa program
Pada program ini, program membuat sebuah tampilan seperti tampilan pada window, dimana tampilan frame dapat diperbesar dan dapat juga diperkecil ukurannya serta dapat dikeluarkan dengan megklik tanda close.

ü  Program 9
import java.awt.*;
import javax.swing.*;

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);
      }
      public static void main(String args[]){
            SwingDemo sd = new SwingDemo();
            sd.launchFrame();
      } 
}


Analisa program
Pada program ini, program menggunakan class awt dan javax swing. Pada program ini javax.swing banyak digunakan salah satu penggunaanya yaitu membuat sebuah variable frame dari class Jframe.

ü  Tugas
import java.awt.*;
import javax.swing.*;

class TugasTictactoe extends Frame {
      public TugasTictactoe(){
            super("Tic-Tac-Toe");
      }

      public static void main(String args[]){
            //m6 hanya untuk framenya saja
            TugasTictactoe m6 = new TugasTictactoe();
            Panel panelNorth= new Panel();
            panelNorth.add(new Label("File"));
            Panel panelSouth= new Panel();
            panelSouth.add(new Label("Player Ones' Turn"));

            Panel panelCenter = new Panel();
            //menentukan banyak baris kolom
            panelCenter.setLayout(new GridLayout(3, 3, 2, 2));
            panelCenter.add(new Button(" "));
            panelCenter.add(new Button(" "));
            panelCenter.add(new Button(" "));
            panelCenter.add(new Button(" "));
            panelCenter.add(new Button(" "));
            panelCenter.add(new Button(" "));
            panelCenter.add(new Button(" "));
            panelCenter.add(new Button(" "));
            panelCenter.add(new Button(" "));

            m6.add(panelNorth, BorderLayout.NORTH);
            m6.add(panelCenter, BorderLayout.CENTER);
            m6.add(panelSouth, BorderLayout.SOUTH);
            m6.setSize(300,300);
            m6.setVisible(true);
      }
}



0 Response to "GUI (Graphical User Interface) di Java"

Post a Comment