Senin, 15 Oktober 2012

Java : SpringLayout


KELOMPOK H
11.11.4635   AHMAD THORIK
11.11.4676   MUHAIMI HILMAN SANTOSO
11.11.4640   EKO FEBRIA FERI CAHYONO
08.11.1901    DANI
11.11.4619   AJI GURUH PRASETYA
[TUGAS]
Jelaskan dengan detail tentang SpringLayout, lengkapi dengan contoh class java yang mengimplementasikan SpringLayout !

Cara Menggunakan SpringLayout
Catatan:  Pelajaran ini mencakup menulis kode tata letak dengan tangan, yang dapat menantang. Jika Anda tidak tertarik untuk mempelajari semua rincian dari manajemen tata letak, Anda mungkin lebih memilih untuk menggunakan manajer layout GroupLayout dikombinasikan dengan alat pembangun untuk lay out GUI Anda. Salah satu alat pembangun tersebut adalah IDE NetBeans. Jika tidak, jika Anda ingin kode dengan tangan dan tidak ingin menggunakan GroupLayout, maka GridBagLayout dianjurkan sebagai manajer tata letak berikutnya yang paling fleksibel dan kuat

Cara keja SpringLayout
Layout semi melakukan pekerjaan mereka dengan mendefinisikan hubungan directional, atau kendala, antara tepi komponen. Sebagai contoh, Anda mungkin mendefinisikan bahwa tepi kiri satu komponen adalah jarak tetap (5 piksel, katakanlah) dari tepi kanan dari komponen lain.
Dalam sebuah SpringLayout, posisi ujung masing-masing tergantung pada posisi hanya satu ujung lainnya. Jika kendala selanjutnya ditambahkan untuk menciptakan mengikat baru untuk tepi, mengikat sebelumnya dibuang dan tepi tetap bergantung pada satu ujung.

Tidak seperti manajer tata letak banyak, SpringLayout tidak secara otomatis mengatur lokasi komponen yang dikelolanya. Jika Anda tangan-kode GUI yang menggunakan SpringLayout, ingat untuk menginisialisasi lokasi komponen dengan membatasi barat / timur dan utara / selatan lokasi. Tergantung pada kendala yang Anda gunakan, Anda juga mungkin perlu untuk mengatur ukuran wadah eksplisit.
Komponen mendefinisikan properti tepi, yang dihubungkan oleh kasus Spring. Setiap musim semi memiliki empat sifat - nilai-nilai minimum, disukai, dan maksimum, dan sebenarnya (saat ini) nilai. Mata-mata terkait dengan setiap komponen dikumpulkan menjadi objek SpringLayout.Constraints.

Berikut adalah kode yang menetapkan mata air wadah ini:

layout.putConstraint (SpringLayout.EAST, ContentPane,  SpringLayout.EAST, textField);
layout.putConstraint (SpringLayout.SOUTH, ContentPane, SpringLayout.SOUTH, textField);

Contoh yang Gunakan SpringLayout

Tabel berikut mencantumkan beberapa contoh yang menggunakan Spring Layout.
SpringDemo3 Halaman ini Menggunakan SpringLayout untuk menciptakan deretan merata spasi, ukuran komponen alami.
SpringDemo4 Halaman ini Reimplements SpringDemo3 menggunakan SpringLayout.Constraints dan Spring langsung.
SpringGrid Halaman ini Menggunakan SpringLayout dan metode utilitas makeGrid untuk membuat tata letak di mana semua komponen adalah ukuran yang sama.
SpringCompactGrid Halaman ini Menggunakan SpringLayout dan metode utilitas makeCompactGrid untuk membuat tata letak di mana semua komponen berturut-turut memiliki ketinggian yang sama, dan semua komponen dalam kolom memiliki lebar yang sama.
Springform Halaman ini Menggunakan SpringLayout dan makeCompactGrid untuk menyesuaikan label-text pasangan lapangan.
SpringBox Halaman ini Menggunakan SpringLayout dan makeCompactGrid untuk menunjukkan meletakkan satu baris dari komponen, dan apa yang terjadi ketika ada mata air bisa tumbuh.
SpinnerDemo Cara Menggunakan Spinners Menggunakan SpringLayout dan makeCompactGrid untuk lay out baris label-spinner pasang.
TextInputDemo Cara Menggunakan Fields Teks Terformat Menggunakan SpringLayout dan makeCompactGrid untuk lay out baris komponen berlabel. Komponen adalah campuran dari bidang teks, bidang teks diformat, dan pemintal.

Contoh Program :

import java.awt.Component;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SpringLayout;

public class Spring {
public static void main (String args[]) {
JFrame frame = new JFrame("SpringLayout Kelompok H");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contentPane = frame.getContentPane();

SpringLayout layout = new SpringLayout();
contentPane.setLayout(layout);

Component left = new JLabel("Input  : ");
Component right = new JTextField(13);

contentPane.add(left);
contentPane.add(right);
layout.putConstraint(SpringLayout.WEST, left, 10, SpringLayout.WEST, contentPane);
layout.putConstraint(SpringLayout.NORTH, left, 25, SpringLayout.NORTH, contentPane);
layout.putConstraint(SpringLayout.NORTH, right, 25, SpringLayout.NORTH, contentPane);
layout.putConstraint(SpringLayout.WEST, right, 20, SpringLayout.EAST, left);

frame.setSize(300, 100);
frame.setVisible(true);

    }
 
 
}

Hasil Program :