Creating Graphical User Interfaces [1] with Java By: De Rosal Ignatius Moses Setiadi The Mathematical Concept of GUIs APIs for Java GUI Anatomy of GUI Application Top-Level Containers Using Swing Components Uneditable Information Displays Swing GUI Components Basic Components Interactive Displays of Highly Formatted Information Special- Purpose Containers Tugas General-Purpose Containers Konten
The Mathematical Concept of GUIs GUI Concept in Java Using Swing Components JFrame JLabel Abdul Kadir, Pemrograman Java 2 (Bab 28 Halaman 601)
Layar Komputer Memiliki 2 koordinat Horisontal (sumbu x) Vertikal (sumbu y) Titik awal ada pada (x=0, y=0) pada kiri atas layar Jarak diukur dalam pixel dengan sumbu x koordinat meningkat ke sebelah kanan dan sumbu y koordinat meningkat ke bawah
Standard Algebraic Coordinate System Standard Computer-Screen Coordinate System
increasing downwards Sumbu Y Contoh A window: x = 150, y = 325, width = 600, height = 350 Its contains a button: x = 125, y = 125, width = 300, height = 100 Bounds=( x, y, width, height) Sumbu X Window Bounds=(150,325,600,350) 150 125 125 300 600 increasing rightwards 325 100 Button Bounds=(125,125,100,300) 350
AWT (Abstract Window Toolkit ) Merupakan komponen GUI (java.awt) yang pertama kali dikenalkan oleh Sun Java. Penggunaan komponen GUI AWT sudah tidak direkomendasikan untuk development baru.
Swing or JFC (Java Foundation Class): Merupakan library dan komponen GUI (javax.swing) versi baru dan direkomendasikan untuk development GUI programming saat ini. Komponen Swing components banyak diturunkan dari AWT and lebih lengkap dari AWT
Basic Components Interactive Displays of Highly Formatted Information Uneditable Information Displays Top-Level Containers General-Purpose Containers Special-Purpose Containers
JButton
JCheckBox
JList
JComboBox
JMenu
JRadioButton
JSpinner
JTextField
JPasswordField
JSlider
JColorChooser
JEditorPane
JTextArea
JTable
JTree
JFileChooser
JProgressBar
JLabel
JToolTip
JSeparator
JFrame
JDialog
JApplet
JPanel
JScrollPane
JSplitPane
JTabbedPane
JToolBar
JInternalFrame
JlayeredPane
Rootpane
Internal structure JFrame JFrame JPanel containers JPanel JButton JButton JLabel JLabel Component
JFrame (Top-Level Containers) Sebuah frame biasanya merupakan bagaian dari JFrame merupakan Top-Level Containers dalam komponen swing. JFrame menyediakan atribut dasar dan perilaku misalnya, title bar dan tombol untuk minimaze, maximize dan close).
JFrame [Metode] Metode Jframe yang sering digunakan: void setsize (int x, int y) mengatur ukuran frame void setdefaultcloseoperation(int operation) mengatur cara menutup frame void setlocation(int x, int y) mengatur lokasi frame void setlocationrelativeto(component c) mengatur lokasi frame dari komponen tertentu void setresizable(boolean b) menentukan dapat diubah ukurunya atau tidak void setvisible (boolean b) menentukan dapat dilihat atau tidak void setbounds(int x, int y, int width, int height) kombinasi setlocation dan setsize
Contoh Kode Membuat JFrame [dengan Metode] Set title of Frame
Metode setdefaultcloseoperation EXIT_ON_CLOSE quits the application; DO_NOTHING_ON_CLOSE does nothing; HIDE_ON_CLOSE makes the window invisible but keeps it in memory for redisplay; DISPOSE_ON_CLOSE destroys the window and frees up associated memory.
Contoh Kode Membuat JFrame [dengan Konstruktor]
Menambahkan Konten pada JFrame Dibutuhkan untuk menampilkan konten dari window Container adalah wadah untuk komponen2 lain. Kelas Container terdapat dalam AWT Tersedia jika kita melakukan import kelas AWT import java.awt.*; Untuk membuat instan dari kelas kontiner, gunakan: kata kunci Dan metode getcontentpane( ) http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/container.html
Contoh Kode Menambahkan Konten JLabel
Contoh Kode Menambahkan Konten Jlabel [2]
Contoh Kode Menambahkan Konten Jlabel [2] lanjut
Adalah area untuk menampilkan tulisan pendek atau gambar JLabel
Bagaimana menambahkan 2 konten?
Hasil MyFrame5.java
http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/jlabel.html Jlabel - Constructor
Menampilkan Teks dan Gambar dengan JLabel
Hasil MyFrame6.java
Tugas 1 Buat tampilan seperti dibawah ini: Clue: Gunakan layout
Tugas 2 Buat tampilan seperti dibawah ini: Clue: Gunakan ImageIcon