Pengertian java Swing
Swing merupakan koleksi komponen GUI
yang berjalan secara seragam di setiap plattform murni yang mendukung
JVM (Java Virtual Machine). Keseluruhankomponen Swing ditulis menggunakan java
sehingga mampu menyediakan fungsionalitas maksimal di platform yang ekuivalen.
Hal ini juga membuktikan bahwa portabilitas aplikasi swing sangat tinggi.
Komponen-komponen Swing dapat di klasifikasikan dalam tiga bagian, yaitu top
level container, intermediate container dan komponen atomic (tunggal)
- Container tingkat atas (top level) berfungsi untuk menyediakan ruang bagi komponen-komponen lainya. Container jenis ini terdiri daro JFrame, JWindow, JDialog, dan JApplet.
- Container menengah adalah komponen (non top level) yang keberadaannya untuk menampung komponen lainnya, misal panel, tabbed dan tool bar
- Komponen atomic berfungsi untuk menampilkan dan/atau menerima informasi. Komponen tunggal memiliki peran penting dalam menghasilkan antarmuka user. Contoh komponen atomic adalah text field, button dan label
Pengertian Jframe
JFrame
digunakan untuk mendesain model tampilan yang didalamnya dapat kita
tempatkankomponen-komponen lainnya.
Contoh Jframe
:
Class Jframeiniterdapatdidalamkomponen:
javax.swing
1.import
javax.swing.JFrame;
2.public
class JFrame_1
3.{
4.public
static void main(String[] args)
5.{
6.JFramejFrame=
new JFrame();
7.jFrame.show();
8.}
9.}
Bekerja dengan JLabel, JTextField dan JButton
Bekerja dengan komponen swing
menggunakan Matisse sangat menyenangkan dan mudah. GroupLayout yang
sangat fleksibel memungkinkan kita untuk
membuat aplikasi dengan tampilan seperti yang kita
harapkan. Label, textfield dan tombol adalah komponen-komponen dasar
yang selalu ada dalam setiap aplikasi berbasis desktop. Ketiga
komponen ini mempunyai fungsi yang sangat sederhana, textfield
menyimpan data berbentuk text (string) yang relatif pendek , label
banyak digunakan untuk memberikan keterangan
penjelas terhadap komponen lain dan tombol digunakan user
untuk menjalankan satu instruksi tertentu
CONTOH PROGRAMNYA:
Contoh Program Java Gui:
Outputnya:
Penjelasannya:
class GUI extends JFrame {// kelas GUI merupakan turunan
dari JFrame
JLabel LNim = new JLabel("NIM :");//membuat & memanggil JLabel baru dengan objek LNim
final JTextField FNim= new JTextField(50);
// merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek FNim
JLabel LNama = new JLabel("Nama :");//membuat & memanggil JLabel baru dengan objek LNama
final JTextField FNama= new JTextField(50);// merupakan modifier yg berbentuk konstanta untuk membuat & memanggil
JTextfield baru dengan nama objek FNama
JButton BTnOK= new JButton("OK");//membuat & memanggil JButton baru dengan objek BTnOK
JButton BTnCancel= new JButton("Cancel");//membuat & memanggil JButton baru dengan objek BTnCancel
public GUI() {
setTitle("Belson Damanik Coba");// mengatur & membuat judul pada frame Belson Damanik Coba
setDefaultCloseOperation(3);
setSize(400,200);//mengatur ukuran pada tampilan frame dengan lebar 400 dan panjang 200
setLayout(null);//Mengatur tampilan pada frame
add(LNim);//menambah objek LNim pada frame
add(FNim);//menambah objek FNim pada frame
add(LNama );//menambah objek LNama pada frame
add(FNama);//menambah objek FNama pada frame
add(BTnOK);//menambah objek BTnOK pada frame
add(BTnCancel);//menambah objek BTnCancel pada frame
LNim.setBounds(10,10,100,20);//mengatur bentuk bondaries objek LNim dengan ukuran (10,10,120,20)
FNim.setBounds(100,10,100,20);//mengatur bentuk bondaries objek FNim dengan ukuran (100,10,100,20)
LNama.setBounds(10,35,120,20);//mengatur bentuk bondaries objek LNama dengan ukuran (10,35,120,20)
FNama.setBounds(100,40,100,20);//mengatur bentuk bondaries objek FNama dengan ukuran 100,40,100,20)
BTnCancel.setBounds(100,130,120,20);//mengatur bentuk bondaries objek BTnkeluar dengan ukuran (100,130,120,20)
BTnOK.setBounds(200,130,90,20);//mengatur bentuk bondaries objek BTnOK dengan ukuran (200,130,90,20)
setVisible(true);//mengatur tampilan frame dalam keadaan aktif atau true
}
}
class ObGUI {//merupakan nama kelas yaitu ObGUI
public static void main(String[] arqs) {//Fungsi Utama yang harus ada di class utama
GUI G=new GUI();//membuat objek dengan nama G dari GUI
}
}
Setelah anda mengetikkan kode program tersebut diatas maka simpan program sesuai dengan class kemudian jalankan program tersebut.
JLabel LNim = new JLabel("NIM :");//membuat & memanggil JLabel baru dengan objek LNim
final JTextField FNim= new JTextField(50);
// merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek FNim
JLabel LNama = new JLabel("Nama :");//membuat & memanggil JLabel baru dengan objek LNama
final JTextField FNama= new JTextField(50);// merupakan modifier yg berbentuk konstanta untuk membuat & memanggil
JTextfield baru dengan nama objek FNama
JButton BTnOK= new JButton("OK");//membuat & memanggil JButton baru dengan objek BTnOK
JButton BTnCancel= new JButton("Cancel");//membuat & memanggil JButton baru dengan objek BTnCancel
public GUI() {
setTitle("Belson Damanik Coba");// mengatur & membuat judul pada frame Belson Damanik Coba
setDefaultCloseOperation(3);
setSize(400,200);//mengatur ukuran pada tampilan frame dengan lebar 400 dan panjang 200
setLayout(null);//Mengatur tampilan pada frame
add(LNim);//menambah objek LNim pada frame
add(FNim);//menambah objek FNim pada frame
add(LNama );//menambah objek LNama pada frame
add(FNama);//menambah objek FNama pada frame
add(BTnOK);//menambah objek BTnOK pada frame
add(BTnCancel);//menambah objek BTnCancel pada frame
LNim.setBounds(10,10,100,20);//mengatur bentuk bondaries objek LNim dengan ukuran (10,10,120,20)
FNim.setBounds(100,10,100,20);//mengatur bentuk bondaries objek FNim dengan ukuran (100,10,100,20)
LNama.setBounds(10,35,120,20);//mengatur bentuk bondaries objek LNama dengan ukuran (10,35,120,20)
FNama.setBounds(100,40,100,20);//mengatur bentuk bondaries objek FNama dengan ukuran 100,40,100,20)
BTnCancel.setBounds(100,130,120,20);//mengatur bentuk bondaries objek BTnkeluar dengan ukuran (100,130,120,20)
BTnOK.setBounds(200,130,90,20);//mengatur bentuk bondaries objek BTnOK dengan ukuran (200,130,90,20)
setVisible(true);//mengatur tampilan frame dalam keadaan aktif atau true
}
}
class ObGUI {//merupakan nama kelas yaitu ObGUI
public static void main(String[] arqs) {//Fungsi Utama yang harus ada di class utama
GUI G=new GUI();//membuat objek dengan nama G dari GUI
}
}
Setelah anda mengetikkan kode program tersebut diatas maka simpan program sesuai dengan class kemudian jalankan program tersebut.
Kesimpulan :
Selama membuat program dari awal mula
dibutuhkan ketelitian dalam pemakaian nama class dan pengaturan tata
letak (layout management) komponen dalam suatu container. Karna hal tersebut
sangat vital dalam membuat program java....
- import java.awt.*; merupakan fungsi yang digunakan untuk proses inputan dalam program java.import javax.swing.*; merupakan fungsi sebagai syarat penggunaan komponen yang ada dalam system java.
- class komponen extends JFrame{ merupakan deklarasi dari class komponen yang extends dengan JFrame.
- public komponen() { merupakan deklarasi dari class komponen dengan modifier akses public.
- super(“GridBag Layout”); merupakan fungsi untuk menampilkan judul pada frame.
- JButton B1 = new JButton(“B1″); merupakan fungsi untuk pemanggilan B1, B2, B3, B4, B5, B6, B7, B8, B9, dan B10 sesuai dengan nama Buttonnya.
- Container c = this.getContentPane();merupakan fungsi pembentukkan objek (keyword) tanpa proses instansiasi.
- GridBagLayout gridbag = new GridBagLayout();merupakan proses pemanggilan class GridBagLayout agar dapat digunakan untuk pembentukkan objek tanpa isntansiasi.
- c.setLayout(gridbag); merupakan fungsi yang digunakan untuk mengatur jenis metode saat memasang komponen berupa GridBagLayout.
- GridBagConstraints gbc = new GridBagConstraints();merupakan fungsi yang digunakan untuk mendeklarasikan gbc agar peletakkan komponen pada panel dapat sesuai dengan constrainnya.
- gbc.insets = new Insets(0, 0, 0, 0); merupakan fungsi yang digunakan untuk menentukan ukuran atau jarak untuk margin atas = 0, margin kiri = 0, margin bawah = 0, margin kanan = 0.
- gbc.fill = GridBagConstraints.BOTH; merupakan fungsi untuk membuat suatu komponen dapat menempati lebih dari 1 cell.
- gbc.gridwidth = 1; merupakan fungsi yang digunakan untuk banyaknya jumlah cell mendatar sebanyak 1.
- gbc.gridheight = 1; merupakan fungsi yang digunakan untuk banyaknya jumlah cell vertikal sebanyak 1.
- gbc.gridx = 1; merupakan fungsi yang digunakan untuk meletakkan Button1 pada garis x senilai 1.
- gbc.gridy = 1; merupakan fungsi yang digunakan untuk meletakkan Button1 pada garis y senilai 1.
- gridbag.setConstraints(B1, gbc); merupakan fungsi untuk menyesuaikan b1 agar dapat mengeluarkan output sesuai dengan Size yang ada.
- c.add(B1, gbc); merupakan fungsi menambahkan komponen b1 agar dapat ditampilkan saat diekseksi.
- this.setResizable(true); merupakan fungsi yang digunakan untuk mengatur kembali ukuran bersifat true.
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);merupakan fungsi JFrame.EXIT_ON_CLOSE yang digunakan untuk membantu perintah CLOSE dapat dijalankan saat eksekusi output dijalankan. this.pack();merupakan fungsi pembentukkan objek tanpa proses instansiasi.
- this.setVisible(true); merupakan fungsi yang digunakan untuk mengatur hasil agar dapat ditampillkan.
- public static void main(String[] args) { merupakan method main dimana method ini berfungsi sebagai tempat sintaks-sintaks yang menghasilkan output.
- new komponen();merupakan fungsi yang digunakan sebagai akses untuk eksekusi program di class komponen()
TUGAS:
01
|
import java.awt.*;
|
|
02
|
import java.awt.event.*;
|
03
|
import javax.swing.*;
|
|
04
|
|
05
|
public class SimpleLogin extends JFrame implements ActionListener {
|
|
06
|
private JLabel label1, label2;
|
07
|
private JTextField txtUser;
|
|
08
|
private JPasswordField pwdPass;
|
09
|
private JButton btnLogin, btnExit;
|
|
10
|
|
11
|
public SimpleLogin() {
|
|
12
|
super ("Login here...");
|
13
|
|
|
14
|
Container
container = getContentPane();
|
15
|
container.setLayout(new FlowLayout());
|
|
16
|
|
17
|
label1
= new JLabel ("Username : ");
|
18
|
label2
= new JLabel ("Password : ");
|
19
|
|
|
20
|
txtUser
= new JTextField (20);
|
21
|
txtUser.setToolTipText("Input
Username");
|
|
22
|
pwdPass
= new JPasswordField(20);
|
23
|
|
|
24
|
btnLogin
= new JButton ("Login");
|
25
|
btnLogin.addActionListener(this);
|
|
26
|
btnExit
= new JButton ("Exit");
|
27
|
btnExit.addActionListener(this);
|
|
28
|
|
29
|
container.add(label1);
|
|
30
|
container.add(txtUser);
|
31
|
container.add(label2);
|
|
32
|
container.add(pwdPass);
|
33
|
container.add(btnLogin);
|
|
34
|
container.add(btnExit);
|
35
|
|
|
36
|
setSize
(300,200);
|
37
|
setVisible
(true);
|
|
38
|
}
|
39
|
|
|
40
|
public static void main (String args[]) {
|
41
|
SimpleLogin
test = new SimpleLogin();
|
|
42
|
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
43
|
}
|
|
44
|
|
45
|
private String user = "", pass = "";
|
|
46
|
public void actionPerformed (ActionEvent e) {
|
47
|
if (e.getSource() == btnLogin) {
|
|
48
|
user
= txtUser.getText();
|
49
|
pass
= pwdPass.getText();
|
|
50
|
if (user.equals("achmatim") &&
pass.equals("otim")) {
|
51
|
JOptionPane.showMessageDialog(null,
"Login successfull");
|
|
52
|
}
else {
|
53
|
JOptionPane.showMessageDialog(null,
"Username and password dosn't match!");
|
|
54
|
txtUser.setText("");
|
55
|
pwdPass.setText("");
|
|
56
|
txtUser.requestFocus(true);
|
57
|
}
|
|
58
|
}
else if (e.getSource() == btnExit){
|
59
|
JOptionPane.showMessageDialog(null,"Thanks
to try my program. See you..");
|
|
60
|
System.exit(0);
|
61
|
}
|
|
62
|
}
|
63
|
}
|
makasih sudah share
BalasHapussolder uap