Yang termasuk dalam jenis button pada Java Swing

Komponen Swing

Seperti pada package AWT, package dari Swing menyediakan banyak kelas untuk membuat aplikasi GUI. Package tersebut dapat ditemukan di javax.swing. Perbedaan utama antara keduanya adalah komponen Swing ditulis menyeluruh menggunakan Java mengingat yang belakangan tidak. Kesimpulannya, program GUI ditulis menggunakan banyak kelas dari package Swing yang mempunyai tampilan look and feel yang sama meski dijalankan pada beda paltform. Lebih dari itu, Swing menyediakan komponen yang lebih menarik seperti color chooser dan option pane. Nama dari komponen GUI milik Swing hampir sama persis dengan komponen GUI milik AWT. Perbedaan jelas terdapat pada penamaan komponen. Pada dasarnya, nama komponen Swing sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sebagai

contoh, satu komponen dalam AWT adalah button class. Sedangkan pada Swing, nama komponen tersebut menjadi Jbutton class. Berikut adalah daftar dari komponen Swing.

Komponen Swing

Penjelasan

JComponent

Kelas induk untuk semua kompnen Swing, tidak termasuk top-level container

JButton

Tombol “push”. Korespondensi pada button class dalam package AWT

JCheckBox

Item yang dapat dipilih atau tidak oleh pengguna. Korespondensi pada checkbox class dalam package AWT

JFileChooser

Mengijinkan pengguna untuk memilih sebuah file. Korespondensi pada filechooser class dalam package AWT

JTextField

Mengijinkan untuk mengedit text satu baris. Korespondensi pada textfield class dalam package AWT

JFrame

Turunan dan korespondensi pada frame class dalam package AWT tetapi keduanya sedikit tidak cocok dalam kaitannya dengan menambahkan komponen pada container. Perlu mendapatkan content pane yang terbaru sebelum menambah sebuah kompnen

JPanel

Turunan Jcompnent. Container class sederhana tetapi bukan top-level. Korespondensi pada panel class dalam package AWT

JApplet

Turunan dan korespondensi ke applet calss dalam package AWT. Juga sedikit tidak cocok dengan applet class dlaam kaitannya dengan menambahkan komponen pada container

JOptionPane

Turunan Jcomponent. Disediakan untuk mempermudah menampilkan popup kotak dialog

Jdialog

Turunan dan korespondensi pada dialog class dalam package awt. Biasanya digunakan untuk menginformasikan sesuatu kepada pengguna atau prompt pengguna untuk input.

JColorChooser

Turunan Jcomponent. Mengijinkan pengguna untuk memilih warna

Setting Up Top-Level Containers

Seperti disebutkan diatas, top-level containers seperti Jframe dan Japplet dalam Swing sangat tidak cocok dengan AWT. Ini adalah syarat menambahkan komponen ke dalam kontainer. Jika Anda ingin menambahkan langsung sebuah komponen kedalam kontainer sebagai container AWT, pertama-tama Anda telah mendapatkan content pane dari kontainer. Untuk melakukan hal tersebut, Anda akan menggunakan metode getContentPane dari kontainer.

Contoh Jframe

import javax.swing.*;

import java.awt.*;

class SwingDemo {

JFrame frame;

JPanel panel;

JTextField textField;

JButton button;

Container contentPane;

void launchFrame() {

/* initialization */

frame = new JFrame("My First Swing Application");

panel = new JPanel();

textField = new JTextField("Default text");

button = new JButton("Click me!");

contentPane = frame.getContentPane();

/* add components to panel– uses FlowLayout by default */

panel.add(textField);

panel.add(button);

/* add components to contentPane– uses BorderLayout */

contentPane.add(panel, BorderLayout.CENTER);

frame.pack();

//causes size of frame to be based on the components

frame.setVisible(true);

}

public static void main(String args[]) {

SwingDemo sd = new SwingDemo();

sd.launchFrame();

}

}

Perlu diperhatikan pada package java.awt masih saja diimpor karena layout manager yang digunakan terdapat pada package tersebut. Juga, memberi judul pada frame dan mengepack komponen di dalam frame dapat juga dilakukan untuk frame AWT.

Contoh JOptionPane

import javax.swing.*;

class JOptionPaneDemo {

JOptionPane optionPane;

void launchFrame() {

optionPane = new JOptionPane();

String name = optionPane.showInputDialog("Hi, what's your

name?");

optionPane.showMessageDialog(null,

"Nice to meet you, " + name + ".", "Greeting...",

optionPane.PLAIN_MESSAGE);

System.exit(0);

}

public static void main(String args[]) {

new JOptionPaneDemo().launchFrame();

}

}

Artikel diperbaharui pada tanggal 11 April 2022

Setelah sekian lama saya tidak menulis artikel java, sekarang saya akan membuat tutorial cara menambahkan aksi pada JButton di pemrograman java. Tutorial ini saya buat berdasarkan permintaan dari salah satu teman Facebook dari Timika Papua yang ingin belajar pemrograman java. Berawal dari pembelajaran online mengenai java fundamental atau java dasar dan sekarang sudah sampai ke tahap java swing.

Pada tutorial ini tidak lepas dari pembuatan JFrame, untuk materi pembuat JFrame di Java Netbeans. Silahkan kunjungi Tutorial Cara Membuat JFrame di Java Netbeans.

Pada tutorial java kali ini saya bagi dalam 2(dua) tahap

Tahap Pertama saya akan membuat sebuah tampilan dengan menggunakan JFrame, berikut tampilan yang akan saya buat.

Yang termasuk dalam jenis button pada Java Swing


Untuk membuat tampilan diatas saya menggunakan full coding ( tidak menggunakan drag and drop ), berikut source code untuk membuat tampilan seperti diatas :

CODE

package com.communityjava.swing; import java.awt.Dimension; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField; public class AksiTombol extends JFrame { private JTextField jTextField; private JButton jButton; private JTextArea jTextArea; public AksiTombol(){ userInterface(); } private void userInterface(){ setTitle("Aksi Tombol"); setSize(300, 200); setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false); setLocationRelativeTo(null); JPanel jp = new JPanel(new FlowLayout(FlowLayout.CENTER, 10, 10)); jTextField = new JTextField(); jTextField.setPreferredSize(new Dimension(250, 30)); jp.add(jTextField); jButton = new JButton("Klik Disini"); jp.add(jButton); jTextArea = new JTextArea(); jTextArea.setPreferredSize(new Dimension(250, 60)); jp.add(jTextArea); getContentPane().add(jp); } }

Baca Juga : Belajar Java - Contoh Membuat JTable pada Java Swing untuk Pemula

Tahap Kedua saya akan menambahkan sebuah aksi pada JButton, ketika saya melakukan klik pada JButton "Klik Disini" maka JTextArea akan menampilkan output seperti yang saya ketikkan di JTextField dan hasil inputan di JTextField akan hilang.

Berikut ini cara untuk menambahkan aksi di JButton menggunakan ActionListener :

Pada baris "public class AksiTombol extends JFrame" tambahkan "implements ActionListener", kemudian buatlah sebuah method seperti berikut :

CODE

@Override public void actionPerformed(ActionEvent e) { if(e.getSource()==jButton){ if(jTextField.getText().trim().equals("")){ JOptionPane.showMessageDialog(null, "Silahkan Isi Text-nya"); } else { jTextArea.setText(jTextField.getText()); jTextField.setText(""); } } }

Penjelasan

Source code diatas akan melakukan sebuah aksi jika JButton atau Tombol di klik, Jika di JTextField tidak ada karakter yang diinputkan maka akan menampilkan sebuah dialog yang berisikan text "Silahkan Isi Text-nya". Jika JTextField berisi karakter maka hasil inputan tadi akan dijadikan output dari JTextArea dan inputan di JTextField akan dihapuskan.

Jangan lupa tambahkan code dibawah ini tepat dibawah "jButton = new JButton("Klik Disini");" :

jButton.addActionListener(this);

Dibawah ini merupakan source code secara keseluruhannya :

CODE

package com.communityjava.swing; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField; public class AksiTombol extends JFrame implements ActionListener{ private JTextField jTextField; private JButton jButton; private JTextArea jTextArea; public AksiTombol(){ userInterface(); } private void userInterface(){ setTitle("Aksi Tombol"); setSize(300, 200); setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false); setLocationRelativeTo(null); JPanel jp = new JPanel(new FlowLayout(FlowLayout.CENTER, 10, 10)); jTextField = new JTextField(); jTextField.setPreferredSize(new Dimension(250, 30)); jp.add(jTextField); jButton = new JButton("Klik Disini"); jButton.addActionListener(this); jp.add(jButton); jTextArea = new JTextArea(); jTextArea.setPreferredSize(new Dimension(250, 60)); jp.add(jTextArea); getContentPane().add(jp); } @Override public void actionPerformed(ActionEvent e) { if(e.getSource()==jButton){ if(jTextField.getText().trim().equals("")){ JOptionPane.showMessageDialog(null, "Silahkan Isi Text-nya"); } else { jTextArea.setText(jTextField.getText()); jTextField.setText(""); } } } public static void main(String[] args){ AksiTombol obj = new AksiTombol(); obj.setVisible(true); } }

Baca Juga : Cara Melakukan Swing Makeover JButton

Sekian tutorial java tentang cara menambahkan aksi pada JButton dengan menggunakan ActionListener di pemrograman java. Semoga bermanfaat.

Yang termasuk dalam jenis button pada Java Swing