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.
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) tahapTahap Pertama saya akan membuat sebuah tampilan dengan menggunakan JFrame, berikut tampilan yang akan saya buat.
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.
Related Posts : |