TUGAS
PRAKTIKUM JAVA II
MODUL II
MANAJEMEN LAYOUT
Miko Dewi Hatmanti
123090061
Plug 10
Ass : Shiddieqy Y. Katili |
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “V” YOGYAKARTA
2010
TUGAS 1
Source code
1. import java.awt.*; 2. import javax.swing.*; 3. class nMultiLayout extends JFrame{ 4. JButton B1, B2, B3, B4, B5, B6, B7; 5. JPanel p1, p2, p3; 6. JLabel labelGambar; 7. public nMultiLayout(){ 8. setTitle ("MultiLayout"); 9. B1 = new JButton("B1"); 10. B2 = new JButton("B2"); 11. B3 = new JButton("B3"); 12. B4 = new JButton("B4"); 13. B5 = new JButton("B5"); 14. B6 = new JButton("B6"); 15. B7 = new JButton("B7"); 16. p1 = new JPanel(); 17. p2 = new JPanel(); 18. p3 = new JPanel(); 19. labelGambar = new JLabel(new ImageIcon("E:/MIKO/tugas kuliah/PraktikumJava/PROGRAM NETBEANS/JAVA2_MODUL2/build/classes/image/aku.jpg")); 20. p1.setLayout(new FlowLayout(FlowLayout.LEFT,70,0)); 21. p1.add(B1); 22. p1.add(B2); 23. p1.add(B3); 24. p2.setLayout(new GridLayout(2,1)); 25. p2.add(B4); 26. p2.add(B5); 27. p3.add(labelGambar); 28. setLayout(new BorderLayout()); 29. add(p1,"North"); 30. add(p2,"West"); 31. add(p3,"Center"); 32. add(B6,"East"); 33. add(B7,"South"); 34. setSize(450, 300); 35. setVisible(true); 36. setDefaultCloseOperation(EXIT_ON_CLOSE); } } 37.public class MultiLayout { 38. public static void main(String[] args) { 39. nMultiLayout nM = new nMultiLayout(); } } |
Output:
Pembahasan :
· Baris 1 dan 2 : Menyertakan semua class dalam paket java.awt dan javax.swing.
· Baris 3 : Mendefinisikan class dengan nama nMultiLayout yang merupakan turunan dari class JFrame (ditandai dengan statement extends JFrame). Class JFrame diperlukan untuk membuat window/frame. Dalam aplikasi java Swing, umumnya terdapat satu class yang merupakan turunan dari JFrame.
· Baris 4 : Inisialisasi tujuh buah object JButton dengan nama B1, B2, B3, B4, B5, B6, B7.
· Baris 5 : Inisialisasi tiga buah panel yang akan digunakan sebagai tempat untuk meletakkan komponen-komponen Swing.
· Baris 6 : Inisialisasi sebuah label untuk menampilkan gambar.
· Baris 7 : Merupakan sebuah constructor dari class nMultiLayout yang nantinya akan akan dijalankan saat objek dari class nMultiLayout terbentuk.
· Baris 8 : Method setTitle digunakan untuk mengatur judul frame. Untuk mengatur judul bisa juga menggunakan perintah super() yang artinya akan mengirim parameter ke konstruktor class JFrame.
· Baris 9..18 : Merupakan inisialisasi objek dari komponen Swing yang akan digunakan dalam program ini. Komponen tersebut adalah button (tombol) sebanyak 7 buah dan tiga panel sebagai tempat meletakkan komponen lainnya.
· Baris 19 : Merupakan inisialisasi objek dari komponen label yang bertugas untuk menyimpan gambar yang akan ditampilkan saat program sudah berjalan. Gambar yang akan ditampilkan terdapat di lokasi E:\MIKO\tugas kuliah\Praktikum Java\PROGRAMNETBEANS\JAVA2_MODUL2\build\classes\image.
· Baris 20 : Layout panel 1 diatur menggunakan metode flow layout rata kiri, yaitu menempatkan komponen berdasarkan urutan komponen-komponen tersebut ditempelkan ke panel dengan spasi kolomnya sebesar 70 pixel dan spasi barisnya nol.
· Baris 21..23 : Komponen tombol B1, B2 dan B3 diletakkan pada panel 1 yang sebelumnya sudah diatur layout-nya menggunakan metode flow layout.
· Baris 24 : Layout panel 2 diatur menggunakan metode grid layout dengan membagi area panel menjadi 2 baris dan 1 kolom dengan ukuran yang sama.
· Baris 25 dan 26 : Komponen tombol B4 dan B5 diletakkan pada panel 2 yang sebelumnya sudah diatur layout-nya menggunakan metode grid layout.
· Baris 27 : Komponen label yang menyimpan gambar diletakkan pada panel 3.
· Baris 28 : Pengaturan layout pada baris ini merupakan perintah pengaturan layout untuk frame. Layout area frame diatur menggunakan metode border layout, yaitu menggunakan konsep arah mata angin dalam memasang komponen.
· Baris 29..33 : Komponen panel 1, panel 2, panel 3, tombol B6 dan tombol B7 diletakkan pada area frame yang sudah diatur menggunakan metode border layout. Disini panel 1 ada di bagian Utara, panel 2 ada dit bagian Barat, panel 3 ada di bagian tengah, tombol B6 diletakkan pada bagian timur dan tombol B7 diletakkan pada bagian Selatan.
· Baris 34 : Method setSize() digunakan untuk mengatur ukuran frame. Dalam program ini frame akan berukuran panjang 450 pixel dan lebar 300 pixel.
· Baris 35 : Method setVisible (true) akan menampilkan frame ke layar. Jika method ini tidak digunakan ataupun nilai Boolean-nya false maka frame tidak akan tampil.
· Baris 36 : Method setDefaultCloseOperation(EXIT_ON_CLOSE) digunakan untuk membersihkan buffer program/aplikasi setelah user menutup aplikasi dengan menekan tombol Close frame.
· Baris 37 : Mendefinisikan main class dengan nama MultiLayout. Main class ini digunakan untuk menjalankan program karena terdapat method main dalam class tersebut.
· Baris 38 : Merupakan method main yang berfungsi memanggil method lain yang kan dijalankan.
· Baris 39 : Perintah untuk menjalankan constructor yang ada di class nMultiLayout.
TUGAS 2
Source code
1. import javax.swing.*; 2. import java.awt.*; 3. public class MyGridBagLayout extends JFrame{ 4. GridBagConstraints gbc; 5. JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11; 6. Container c; 7. public MyGridBagLayout(){ 8. super("GridBagLayout"); 9. b1=new JButton("B1"); b2=new JButton("B2"); b3=new JButton("B3"); b4=new JButton("B4"); b5=new JButton("B5"); b6=new JButton("B6"); b7=new JButton("B7"); b8=new JButton("B8"); b9=new JButton("B9"); b10=new JButton("B10"); 19. b11=new JButton("B11"); 20. gbc=new GridBagConstraints(); 21. c=getContentPane(); 22. GridBagLayout gridbag = new GridBagLayout(); 23. c.setLayout(gridbag); 24. gbc.insets = new Insets(5, 5,5, 5); 25. gbc.fill = GridBagConstraints.BOTH; 26. gbc.gridwidth = 1; gbc.gridheight = 1; gbc.gridx=0; gbc.gridy=0; gridbag.setConstraints(b1, gbc); c.add(b1,gbc); gbc.gridwidth = 1; gbc.gridheight = 1; gbc.gridx=0; gbc.gridy=1; gridbag.setConstraints(b2, gbc); c.add(b2,gbc); gbc.gridwidth = 1; gbc.gridheight = 1; gbc.gridx=0; gbc.gridy=2; gridbag.setConstraints(b3, gbc); c.add(b3,gbc); gbc.gridwidth = 2; gbc.gridheight = 3; gbc.gridx=1; gbc.gridy=0; gridbag.setConstraints(b4, gbc); c.add(b4,gbc); |
gbc.gridwidth = 1; gbc.gridheight = 1; gbc.gridx=3; gbc.gridy=0; gridbag.setConstraints(b5, gbc); c.add(b5,gbc); gbc.gridwidth = 1; gbc.gridheight = 1; gbc.gridx=3; gbc.gridy=2; gridbag.setConstraints(b6, gbc); c.add(b6,gbc); gbc.gridwidth = 5; gbc.gridheight = 1; gbc.gridx=0; gbc.gridy=3; gridbag.setConstraints(b7, gbc); c.add(b7,gbc); gbc.gridwidth = 1; gbc.gridheight = 1; gbc.gridx=0; gbc.gridy=4; gridbag.setConstraints(b8, gbc); c.add(b8,gbc); gbc.gridwidth = 2; gbc.gridheight = 3; gbc.gridx=1; gbc.gridy=0; gridbag.setConstraints(b4, gbc); c.add(b4,gbc); gridbag.setConstraints(b9, gbc); c.add(b9,gbc); gbc.gridwidth = 1; gbc.gridheight = 1; gbc.gridx=2; gbc.gridy=4; gridbag.setConstraints(b10, gbc); c.add(b10,gbc); gbc.gridwidth = 1; gbc.gridheight = 1; gbc.gridx=3; gbc.gridy=4; gridbag.setConstraints(b11, gbc); 99. c.add(b11,gbc); 100 setResizable(true); 101. setSize(270,200); 102. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 103. setVisible(true); } 104. public static void main (String[]args) { 105. new MyGridBagLayout(); } } |
Output :
Pembahasan :
· Baris 1 dan 2 : Menyertakan semua class dalam paket java.awt dan javax.swing.
· Baris 3 : Mendefinisikan class dengan nama MyGridBagLayout yang merupakan turunan dari class JFrame (ditandai dengan statement extends JFrame). Class JFrame diperlukan untuk membuat window/frame. Dalam aplikasi java Swing, umumnya terdapat satu class yang merupakan turunan dari JFrame.
· Baris 4 : Inisialisain seluruh cell yang ada pada frame dengan objek bernama gbc.
· Baris 5 : Inisialisasi sebelas buah object JButton dengan nama B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11.
· Baris 6 : Inisialisasi kontainer untuk meletakkan komponen tombol.
· Baris 7 : Merupakan sebuah constructor dari class MyGridBagLayout yang nantinya akan akan dijalankan saat objek dari class MyGridBagLayout terbentuk.
· Baris 8 : Untuk mengatur judul bisa juga menggunakan perintah super() yang artinya akan mengirim parameter ke konstruktor class JFrame.
· Baris 9..19 : Merupakan inisialisasi objek dari komponen Swing yang akan digunakan dalam program ini. Komponen tersebut adalah button (tombol) sebanyak 11 buah.
· Baris 20 : Inisialisasi cell untuk pengolahan layout.
· Baris 21 : Perintah untuk menempelkan container ke frame.
· Baris 22 : Membuat objek dari class GridBagLayout milik java..
· Baris 23 : Layout container diatur menggunakan metode gridbaglayout yang diwakili oleh objek bernama gridbag.
· Baris 24 : Mengatur margin cell. Besar margin atas , kiri, bawah, kanan sebesar 5 pixel.
· Baris 25 : Isi dari cell diatur secara horizontal dan vertikal.
· Baris 26..99 : Coding bagian ini adalah melakukan pengaturan peletakan cell yang mau kita letakkan. Sintaks gridwidth untuk menentukan jumlah cell mendatar, gridheight untuk menentukan jumlah cell vertikal, gridx untuk menentukan cell akan diletakkan pada kolom ke berapa dan gridy untuk menentukan cell diletakkan pada baris ke berapa. Setelah semua pengaturan cell selesai kita lakukan, maka pengaturan tersebut akan digunakan untuk mengatur batas – batas komponen yang akan diletakkan pada cell. Kemudian komponen tersebut diletakkan pada container.
· Baris 100 : Method untuk men-setting ulang agar setting komponen sebelumnya tidak berlaku untuk komponen selanjutnya.
· Baris 101 : Method setSize() digunakan untuk mengatur ukuran frame. Dalam program ini frame akan berukuran panjang 270 pixel dan lebar 200 pixel..
· Baris 102 : Method setDefaultCloseOperation(EXIT_ON_CLOSE) digunakan untuk membersihkan buffer program/aplikasi setelah user menutup aplikasi dengan menekan tombol Close frame.
· Baris 103 : Method setVisible (true) akan menampilkan frame ke layar. Jika method ini tidak digunakan ataupun nilai Boolean-nya false maka frame tidak akan tampil
· Baris 104 : Mendefinisikan main class dengan nama MultiLayout. Main class ini digunakan untuk menjalankan program karena terdapat method main dalam class tersebut.
· Baris 105 : Perintah untuk menjalankan constructor yang ada di class MyGridBagLayout.
Tidak ada komentar:
Posting Komentar