GUI part 2- Using Swing Components -...

47
GUI part 2 - Using Swing Components By: De Rosal , Ign. Moses S.

Transcript of GUI part 2- Using Swing Components -...

GUI part 2- Using Swing ComponentsBy: De Rosal, Ign. Moses S.

Review - Anatomy of GUI Application

Internal structure

JPanel

JButton

JFrame

JLabel

JFrame

JPanel

JButton JLabel

containers

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

JButtonhttp://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]

Default: center

Default: right

How to produce?

Simpan kode diatas pada file JButtonDemo2.java

Menggunakan JButton [3]

• Void SetIconTextGap(int)

– Use to set gap between icon and text

before after

JToggleButton

Parable of JButton vs JToggleButton :

• JToggleButtons work like the Caps Lock key on a keyboard,

whereas JButton work like Shift key on a keyboard.

implements a basic push button

provides a

“press-and-hold” mechanism

JToggleButtonhttp://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)

by convention, only one button at a

time can be selected

Check boxes can have multiple

states at once allow user to choose more than one choice

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 satuwaktu memungkinkan user untuk memilih lebih dari 1

pilihan

• Tapi JCheckBox dapat hanya memiliki 1 pilihan

menggunakan ButtonGroup

JCheckBox cont’dhttp://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’dhttp://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

JComboBoxhttp://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 Componentshttp://docs.oracle.com/javase/tutorial/uiswing/components/text.html

JTextFieldhttp://docs.oracle.com/javase/7/docs/api/javax/swing/JTextField.html

Menggunakan JTextField

Simpan kode diatas pada file JTextFieldDemo.java

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

Menggunakan JPasswordField

Simpan kode diatas pada file JPasswordFieldDemo.java

JTextAreahttp://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’dhttp://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