Anda di halaman 1dari 47

GUI part 2- Using Swing Components

By: De Rosal, Ign. Moses S.


Review - Anatomy of GUI Application

Internal structure
JFrame
JFrame JPanel

containers

JPanel JButton

JButton JLabel JLabel

Component
Macam-macam Container

• Top Level Container Class


– JFrame
– JDialog
– Japplet
• Have responsibility to the layout of components
– JPanel
– Content panes
JPanel (General - Purpose Containers)

• Kelas JPanel menyediakan wadah untuk keperluan umum


untuk komponen ringan (seperti bacis component)
• Secara default, manajer layout panel adalah turunan dari
FlowLayout.
– JPanel panel = new JPanel ( );  instansiasi JPanel
• Contoh untuk menggunakan layout manager yang lain:
– JPanel panel = new JPanel( new BorderLayout()); 
Menggunakan border layout
JPanel cont ‘d

Metode untuk menambahakan komponen pada Jpanel:


• panel.add(aComponent);
• panel.add(anotherComponent);
• panel.add(aComponent, BorderLayout.EAST);
Swing Components [basic]
Latihan

• Lengkapi kode-kode implementasi Swing Komponen


dari JButton sampai dengan JScrollPane hingga
dapat dijalankan dan hasilnya semirip mungkin
dengan contoh!
• Semua kode harus terdiri dari:
– Konstruktor  setting frame
– Metode setContent  mempersiapkan konten frame
– Metode makeLayout  Menempelkan komponen pada layout
– Main Metode  untuk instansiasi frame
JButton
http://docs.oracle.com/javase/7/docs/api/javax/swing/JButton.html
Menggunakan JButton

Simpan kode diatas pada file JButtonDemo.java


Menggunakan JButton Lanjut
Menggunakan JButton Lanjut
Menggunakan JButton [2]
How to produce?

Default: center

Default: right
Simpan kode diatas pada file JButtonDemo2.java
Menggunakan JButton [3]
• Void SetIconTextGap(int)
– Use to set gap between icon and text

before after
JToggleButton

provides a
“press-and-hold”
mechanism implements a basic push button
Parable of JButton vs JToggleButton :
• JToggleButtons work like the Caps Lock key on a keyboard,
whereas JButton work like Shift key on a keyboard.
JToggleButton
http://docs.oracle.com/javase/7/docs/api/javax/swing/JToggleButton.html
Using JToggleButton

Simpan kode diatas pada file JToggleButtonDemo.java


Using JToggleButton - Result
JToggleButton (JCheckBox vs
JRadioButton)

Check boxes can have multiple


states at once  allow user to
choose more than one choice
by convention, only one button at a
time can be selected
JCheckBox

• A javax.swing.JCheckBox class shows a small box provides


a text label and an associated on/off state indicator.
• Sebuah JCheckBox memiliki 2 keadan (checked and
unchecked) dimana dapat dikontrol user dengan mouse or
the optional assigned keyboard accelerator.
• JCheckBox dapat memeiliki banyak keaadaan dalam satu
waktu  memungkinkan user untuk memilih lebih dari 1
pilihan
• Tapi JCheckBox dapat hanya memiliki 1 pilihan 
menggunakan ButtonGroup
JCheckBox cont’d
http://docs.oracle.com/javase/7/docs/api/javax/swing/JCheckBox.html
Menggunakan JCheckBox

Simpan kode diatas pada file JCheckBoxDemo.java


JRadioButton
• Radio buttons (javax.swing.JRadioButton) are used in
groups (java.awt.ButtonGroup) where at most one can be
selected.
• How :
– Create a ButtonGroup object
– use its add method to include the JRadioButton objects
• Note:
– The ButtonGroup object is a logical grouping -- not a physical
grouping.
– To create a button panel, you should still create a JPanel or
similar container-object and add a Border to it to set it off from
surrounding components.
JRadioButton cont’d
http://docs.oracle.com/javase/7/docs/api/javax/swing/JRadioButton.html
Menggunakan JRadioButton

Without button grop, JRadioButton same with JCheckBox


Menggunakan JRadioButton [2]

Using
ButtonGroup

Simpan kode diatas pada file JRadioButtonDemo.java


JComboBox
http://docs.oracle.com/javase/7/docs/api/javax/swing/JComboBox.html

A JComboBox, which lets the user choose one of


several choices
Menggunakan JComboBox

Simpan kode diatas pada file JComboBoxDemo.java


Menggunakan JComboBox Lanjut
Text Components
http://docs.oracle.com/javase/tutorial/uiswing/components/text.html
JTextField
http://docs.oracle.com/javase/7/docs/api/javax/swing/JTextField.html
Menggunakan JTextField

Simpan kode diatas pada file JTextFieldDemo.java


JPasswordField
http://docs.oracle.com/javase/7/docs/api/javax/swing/JPasswordField.html
Menggunakan JPasswordField

Simpan kode diatas pada file JPasswordFieldDemo.java


JTextArea
http://docs.oracle.com/javase/7/docs/api/javax/swing/JTextArea.html

A JTextArea is a multi-line area that displays plain text.


Menggunakan JTextArea

Simpan kode diatas pada file JTextAreaDemo.java


JTextArea Lanjutan
JScrollPane

• TextArea doesn't support scrolling itself but can easily add


the JTextArea to a JScrollPane.
• JScrollPane creates scrollbars as needed.
JScrollPane
• There are three policies that can specify the scrollbars.
Below is how set if for the horizontal scrollbar, but change
"horizontal" to "vertical" as needed.
• ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDE
D - Default value.
• ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
• ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS
Menggunakan JScrollPane

Simpan kode diatas pada file JScollPaneDemo.java


JMenu
• A menu provides a space-saving way to let the user
choose one of several options.

JMenubar

JMeniItem

JRadioButtonItem

JCheckBoxItem
SubMenu

SubMenuItem
JMenu Heirarchy
JMenu cont’d
http://docs.oracle.com/javase/7/docs/api/javax/swing/JMenuItem.html
Using JMenu
Using JMenu cont’d (MenuBar, Menu, and MenuItem)
Using JMenu cont’d (RadioButtonItem and CheckBoxItem)
Using JMenu cont’d (subMenu)
Thanks

Anda mungkin juga menyukai