GUI part 2- Using Swing Components -...
Transcript of GUI part 2- Using Swing Components -...
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);
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 [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
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
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
JComboBoxhttp://docs.oracle.com/javase/7/docs/api/javax/swing/JComboBox.html
A JComboBox, which lets the user choose one of
several choices
Text Componentshttp://docs.oracle.com/javase/tutorial/uiswing/components/text.html
JTextFieldhttp://docs.oracle.com/javase/7/docs/api/javax/swing/JTextField.html
JPasswordFieldhttp://docs.oracle.com/javase/7/docs/api/javax/swing/JPasswordField.html
JTextAreahttp://docs.oracle.com/javase/7/docs/api/javax/swing/JTextArea.html
A JTextArea is a multi-line area that displays plain text.
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
JMenu
• A menu provides a space-saving way to let the user
choose one of several options.
JMenubar
JMeniItem
JRadioButtonItem
JCheckBoxItem
SubMenu
SubMenuItem
JMenu cont’dhttp://docs.oracle.com/javase/7/docs/api/javax/swing/JMenuItem.html