Java Swing ?
. Merupakan sekumpulan kelas kelas yang digunakan untuk mengembangkan aplikasi berbasis GUI(Graphical User Interface)
. Java Swing adalah salah satu dari banyaknya solusi untuk mengembangkan aplikasi berbasis GUI.
. Java Swing merupakan versi peningkatan dari AWT(Abstract Window Toolkit)
Kelebihan Java Swing
. Di bundle dalam Java Development Kit
. Netral terhadap semua sistem operasi
. Mudah untuk dikembangkan
Tentang Java Swing
- Kelas kelas dalam Java Swing biasanya diawali dengan huruf J
- Button dalam Java Swing bernama JButton
- Label dalam Java Swing bernama Jlabel
- Kelas kelas java swing terdapat paket javax.swing.*
Komponen Sederhana :
- Jlabel = untuk menampilkan label (tulisan)
- JTextField = untuk menerima input teks
- JPasswordField = untuk menerima input teks yg bersifat rahasia
- JButton = untuk menampilkan tombol
Komponen pilihan :
- JCheckbox = untuk menerima masukan dan diperbolehkan memilih lebih dari satu jawaban
- JRadioButton = untuk menerima satu masukan dari banyaknya pilihan yang ada
- JComboBox = untuk menerima satu masukan dari beberapa pilihan. dan datanya dapat berubah secara dinamis .
Komponen dalam ScrollPane :
- JScrollPane = komponen yang digunakan untuk menampung komponen yg besarnya melebihi dimensi JScrollPane itu sendiri
- JTextArea = komponen yang digunakan untuk menerima masukan tulisan yg boleh lebih dari satu baris
Komponen Menu :
- JMenuBar = Komponen tempat menu yg berada pada bagian atas form
- JPopupMenu = komponen tempat menu yg dapat diterapkan pada komponen lain
- JMenu = komponen menu yg dapat berisikan menu lain
- JMenuItem = komponen menu yang tidak dapat memiliki menu lain
Komponen Dialog Pilihan :
- JOptionPane = komponen dialog yang digunakan untuk menampilkan pilihan atau pesan
- showConfirmDialog = meminta konfirmasi dari user seperti yes/ no/ cancel
- showInputDialog = meminta input dari user, baik berupa input text menggunakan JTextField maupun pilihan menggunakan JComboBox
- showMessageDialog = memberitahukan user tentang apa yg baru saja terjadi
Komponen BerModel :
- Model = sebagai penampung data
- JList = merupakan komponen pilihan seperti JComboBox namun dapat menerima input lebih dari satu
- JTabel = merupakan komponen berupa tabel
- Model untuk JList adalah ListModel > Implementasi default untuk ListModel adalah DefaultListModel
- Model untuk JTable adalah TableModel > Implementasi default untuk TableModel adalah DefaultTableModel
Interaksi Komponen :
- Dalam Java Swing , interaksi setiap komponen dengan user dinamakan events
- Events standar untuk komponen- komponen sederhana adalah ActionListener
- Interaksi dengan mouse adalah MouseListener atau MouseMotionListener
Action Listener
merupakan events yang terjadi saat :
- Mengklik tombol
- Menekan enter pada JTextField dan JPasswordField
- Pemilihan JMenuItem
- Pemilihan Item pada JComboBox
Contoh Aplikasi open Source berbasis Java Swing :
- Aerith
- eMovieRental
source : http://www.slideshare.net/eecchhoo/pengenalan-java-swing
SwingMakeOver merupakan teknik memanipulasi tampilan User Interfaces (Java Swing). Teknik ini dilakukan dengan menggunakan penggambaran agar tampilan komponen-komponen Java Swing seperti TextField, Button dan lain-lain menjadi kelihatan lebih cantik . Ada juga yang menyebut SwingMakeover dengan sebutan SwingX.
Kelebihannya antara lain adalah sebagai berikut :
- Terdapat fungsi addHighlighter() yang digunakan untuk memberi highlight pada sel tertentu (bisa berupa warna background berbeda dan sebagainya).
- SwingX juga menawarkan komponen baru, seperti JXDatePicker. Ini adalah contoh komponen yang sering dibutuhkan oleh aplikasi, tetapi tidak disediakan oleh Swing secara langsung.
- SwingX juga memiliki kotak dialog siap pakai, seperti JXTipOfTheDay, yang umum dipakai untuk menampilkan tips di program.
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.ButtonModel;
import javax.swing.JButton;
public class ButtonMakeOver extends JButton {
public ButtonMakeOver(String text) {
setText(text);
setBorderPainted(false);
setContentAreaFilled(false);
setFocusPainted(false);
setOpaque(false);
setForeground(Color.white);
}
@Override
protected void paintComponent(Graphics g) {
ButtonModel buttonModel = getModel();
Graphics2D gd = (Graphics2D) g.create();
gd.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
gd.setPaint(new GradientPaint(0, 0, Color.white, 0, getHeight(), new Color(0, 0, 0, 0)));
if (buttonModel.isRollover()) {
gd.setPaint(new GradientPaint(0, 0, new Color(0, 0, 0, 0), 0, getHeight(), Color.white));
if (buttonModel.isPressed()) {
gd.setPaint(new GradientPaint(0, 0, Color.white, 0, getHeight(), Color.white));
setForeground(Color.BLACK);
} else {
setForeground(Color.white);
}
}
gd.fillRoundRect(0, 0, getWidth(), getHeight(), 25, 25);
gd.dispose();
super.paintComponent(g);
}
}
Tulis source codeberikut (Test.java) :
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JFrame {
private ButtonMakeOver button =new ButtonMakeOver("My Button");
private JPanel panel;
public Test() {
panel = new JPanel(null);
panel.setBackground(Color.BLACK);
panel.add(button);
button.setBounds(20, 20, 120, 23);
setLayout(new BorderLayout());
add(panel, BorderLayout.CENTER);
setSize(200,100);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Test().setVisible(true);
}
}
- to be continue :D