KONSEP SWING
APA PERBEDAAN AWT DAN SWING ???
Perbedaan Swing dan AWT adalah bentuk komponen-komponen dari kelas Swing sama bentuknya pada semua platform / sistem operasi.
KELEBIHAN MENGGUNAKAN GUI Dengan tampilan, program akan tampak jauh lebih menarik Program akan menjadi lebih interaktif User Friendly dan mudah dalam penggunaannya Dapat berinteraksi dengan peralatan, seperti mouse, keyboard, joystik
KOMPONEN SWING
PENGERTIAN Container : Objek yang dapat menampung komponen grafis dan tempat yang lebih kecil. Contoh: JFrame, JPanels Component : Objek grafis yang berfungsi untuk menampilkan data, menerima masukan. Contoh: JButtons, JLabel Event : Objek yang merepresentasikan suatu kejadian Contoh: Penekanan tombol, gerakan mouse Listener : Suatu objek yang menunggu suatu kejadian khusus dan akan bereaksi jika kejadian tersebut terjadi
SwingPertama.java import javax.swing.*; public class SwingPertama { public static void main(String[] args){ JFrame pertama=new JFrame(" Belajar SWING Gampang"); pertama.setSize(300,200); pertama.show();} }
SwingKedua.java import javax.swing.*; public class swingdua extends JFrame{ public static void main (String[] args) { swingdua kontruktorswing=new swingdua(); } public swingdua(){ super("BELAJAR SWING"); setSize(500,500); show();
KOMPONEN SWING Komponen Swing Penjelasan JComponent Kelas induk untuk semua komponen Swing, tidak termasuk top-level kontainer JButton Tombol untuk ditekan JCheckBox Item yang dapat dipilih atau tidak oleh penggunanya JFrame Turunan dan korepondensi pada frame class dalam package AWT tetapi keduanya sedikit tidak cocok dalam kaitannya dengan menambahkan komponen pada kontainer. JFileChooser Mengijinkan pengguna untuk memilih sebuah file. JPanel Turunan Jcomponent. Kontainer class sederhana tetapi bukan top-level. JDialog Biasanya digunakan untuk menginformasikan sesuatu kepada pengguna atau prompt pengguna untuk input. JColorChooser Turunan Jcomponent. Mengijinkan pengguna untuk memilih warna
JLabel import javax.swing.*; public class SwingKedua extends JFrame{ public static void main (String[] args) { SwingKedua kontruktorswing=new SwingKedua(); } public SwingKedua(){ super("BELAJAR SWING"); setSize(500,500); JLabel nama = new JLabel("nama"); getContentPane().setLayout(null); getContentPane().add(nama).setBounds(10,50,100,100); setDefaultCloseOperation(SwingKedua.EXIT_ON_CLOSE); show();
JTextField import javax.swing.*; public class SwingKedua extends JFrame{ public static void main (String[] args) { SwingKedua kontruktorswing=new SwingKedua(); } public SwingKedua(){ super("BELAJAR SWING"); setSize(500,500); JLabel nama = new JLabel("nama"); JTextField tnama=new JTextField(""); getContentPane().setLayout(null); getContentPane().add(nama).setBounds(10,50,100,50); //10 jarak dari kiri ke label nama, 50 jarak sumbu y, 100 panjang label, 50 tinggi label getContentPane().add(tnama).setBounds(100,50,200,30); setDefaultCloseOperation(SwingKedua.EXIT_ON_CLOSE); show(); } }
JButton import javax.swing.*; public class SwingKedua extends JFrame{ public static void main (String[] args) { SwingKedua kontruktorswing=new SwingKedua(); } public SwingKedua(){ super("BELAJAR SWING"); setSize(500,500); JLabel nama = new JLabel("nama"); JTextField tnama=new JTextField(""); JButton bsave=new JButton("SAVE"); getContentPane().setLayout(null); getContentPane().add(nama).setBounds(10,50,100,50);//10 jarak dari kiri ke label nama, 50 jarak sumbu y, 100 panjang label, 50 tinggi label getContentPane().add(tnama).setBounds(100,50,200,30); getContentPane().add(bsave).setBounds(100,250,200,30); setDefaultCloseOperation(SwingKedua.EXIT_ON_CLOSE); show(); } }
JCheckBox import javax.swing.*; public class ContohJcheckBox extends JFrame{ public static void main (String[] args) { ContohJcheckBox app=new ContohJcheckBox(); } public ContohJcheckBox(){ super("COntoh Penggunaan JCheckbox"); setSize(500,500); JLabel hoby=new JLabel("Hobby"); JCheckBox cb1=new JCheckBox("Belajar dan Belajar"); JCheckBox cb2=new JCheckBox("Bermain "); JCheckBox cb3=new JCheckBox("Olahraga"); getContentPane().setLayout(null); getContentPane().add(hoby).setBounds(20,20,100,50); getContentPane().add(cb1).setBounds(120,20,100,50); getContentPane().add(cb2).setBounds(120,55,100,50); getContentPane().add(cb3).setBounds(120,90,100,50); show(); } }
OUTPUT
JRadioButton import javax.swing.*; public class ContohJRadioButton extends JFrame{ public static void main (String[] args) { ContohJRadioButton app=new ContohJRadioButton(); } public ContohJRadioButton(){ super("Contoh JRadioButton"); setSize(500,500); JLabel jk=new JLabel("Jenis Kelamin"); JRadioButton rb1=new JRadioButton("Pria Idaman"); JRadioButton rb2=new JRadioButton("Wanita Pilihan"); ButtonGroup bg1=new ButtonGroup(); bg1.add(rb1); bg1.add(rb2); getContentPane().setLayout(null); getContentPane().add(jk).setBounds(10,50,100,100); getContentPane().add(rb1).setBounds(100,50,100,100); getContentPane().add(rb2).setBounds(200,50,100,100); show(); } }
LATIHAN
EVENT LISTENER ActionListener : akan bereaksi atas perubahan mouse atau keyboard MouseListener : akan bereaksi atas pergerakan mouse WindowListener : akan bereaksi atas perubahan window MouseMotionListener : menyediakan method-method yang akan memantau pergerakan mouse, seperti drag dan pemindahan mouse