Praktikum Java GUI-1 Dengan Netbeans
Praktikum Java GUI-1 Dengan Netbeans
JAVA GUI
1.
2.
3.
4.
Fitur Swing
Komponen
Fitur Swing
Fitur Swing
Komponen
Komponen Swing
Top-Level Container
JFrame
//1. Create the frame
JFrame frame = new JFrame("Frame Beraksi");
//2. Optional: What happens when the frame closes?
frame.setDefaultCloseOperation(JFrame.EXIT_ N_CLOSE);
//3. Create components and put them in the frame
//...create emptyLabel...
frame.getContentPane().add(emptyLabel , BorderLayout.CENTER);
//4. Size the frame
frame.pack();
//5. Show it
frame.setVisible(true);
FrameBeraksi.java
import javax.swing.*;
public class FrameBeraksi {
public static void main(String[] args){
JFrame frame = new JFrame("Frame Beraksi");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel emptyLabel = new JLabel("Frame Beraksi");
frame.getContentPane().add(emptyLabel);
frame.setSize(400,200);
frame.setVisible(true);
}
}
FrameBeraksi2.java
import javax.swing.*;
public class FrameBeraksi2 extends JFrame {
public FrameBeraksi2() {
super("Frame Beraksi 2");
setSize(300, 100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] arguments) {
FrameBeraksi2 frame= new FrameBeraksi2();
}
}
Atomic Component
JFrame
//1. Create the frame
JFrame frame = new JFrame("Frame Beraksi");
//2. Optional: What happens when the frame closes?
frame.setDefaultCloseOperation(JFrame.EXIT_ N_CLOSE);
//3. Create components and put them in the frame
//...create emptyLabel...
frame.getContentPane().add(emptyLabel , BorderLayout.CENTER);
//4. Size the frame
frame.pack();
//5. Show it
frame.setVisible(true);
Tips: setToolTipText()
Painting and Borders: setBorder(),
paintComponent()
Pluggable Look and Feel:
UIManager.setLookAndFeel()
Properties: putClientProperty(), getClientProperty()
Layout: setMinimumSize(), setMaximumSize,
setAlignmentX()
Drag and Drop: component .setDragEnabled(true)
Double Buffering: untuk menghaluskan gambar
Key Bindings: untuk mnemonics dan accelerators
JButton
import javax.swing.*;
public class ButtonBeraksi extends JFrame {
JButton load = new JButton("Load");
JButton save = new JButton("Save");
public ButtonBeraksi() {
super("Button Beraksi");
setSize(140, 170);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pane = new JPanel();
pane.add(load);
pane.add(save);
add(pane);
setVisible(true);
}
public static void main(String[] arguments) {
ButtonBeraksi button = new ButtonBera
Layout Manager
Border Layout
Flow Layout
Grid Layout
Grid Bag Layout
Box Layout
Card Layout
BorderLayoutBeraksi.java
import java.awt.*;
Import java.awt.event.*;
import javax.swing.*;
public class BorderLayoutBeraksi extends JFrame
{
JButton nButton = new JButton("North");
JButton sButton = new JButton("South");
JButton eButton = new JButton("East");
JButton wButton = new JButton("West");
JButton cButton = new JButton("Center");
JButton( Center );
public BorderLayoutBeraksi() {
super("Border Layout Beraksi"); setSize(240,
280);
setDefaultCloseOperation(JFrame.EXIT_ON_CLO
SE);
setLayout(new BorderLayout());
add(nButton, BorderLayout.NORTH);
add(sButton, BorderLayout.SOUTH);
add(eButton, BorderLayout.EAST);
add(wButton, BorderLayout.WEST);
add(cButton, BorderLayout.CENTER); }
Border Layout
Flow Layout
Grid Layout
Grid Bag Layout
Box Layout
Card Layout
Border Layout
Flow Layout
Grid Layout
Grid Bag Layout
Box Layout
Card Layout
FlowLayoutBeraksi.java
import java.awt.*; bImport java.awt.event.*;
import javax.swing.*;
public class FlowLayoutBeraksi extends JFrame {
JButton a = new JButton("Alibi");
JButton b = new JButton("Burglar");
JButton c = new JButton("Corpse");
JButton d = new JButton("Deadbeat");
JButton e = new JButton("Evidence");
public static void main(String[] args) {
FlowLayoutBeraksi frame = new
FlowLayoutBeraksi();
JButton f = new JButton("Fugitive");
public FlowLayoutBeraksi() {
super("Flow Layout Beraksi"); setSize(360, 120);
Border Layout
2. Flow Layout
3. Grid Layout
4. Grid Bag Layout
5. Box Layout
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
6.
Card Layout
FlowLayout lm = new
1.
FlowLayout(FlowLayout.LEFT);
setLayout(lm);
add(a); add(b); add(c); add(d);
add(e); add(f);
setVisible(true);
GridLayoutBeraksi.java
GridLayout family = new
GridLayout(3, 3, 10, 10);
pane.setLayout(family);
pane.add(marcia);
pane.add(carol);
pane.add(greg);
pane.add(jan);
pane.add(alice);
pane.add(peter);
pane.add(cindy);
pane.add(mike);
pane.add(bobby);
add(pane);
setVisible(true);
GridBagLayout
BoxLayoutBeraksi.java
import java.awt.*; import javax.swing.*;
public class BoxLayoutBeraksi extends JFrame {
public BoxLayoutBeraksi() {
super("BoxLayoutBeraksi"); setSize(430,
150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLO
SE);
CardLayoutBeraksi.java
import javax.swing.*; import java.awt.*;
class CardLayoutBeraksi{
public static void main(String[] args){
JFrame frame = new JFrame("Card Layout Beraksi");
JPanel panel1 = new JPanel(); JPanel panel2 = new JPanel();
JButton button = new JButton("Button dalam panel ke 1");
JT tA t t JT tA ("T t d l l k 2")
JTextArea text = new JTextArea("Text dalam panel ke 2");
panel1.add(button); panel2.add(text);
JTabbedPane tab = new JTabbedPane();
tab.add(panel1, "Tab 1"); tab.add(panel2, "Tab 2");
frame.getContentPane().add(tab,BorderLayout.NORTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack(); frame.setVisible(true);
}
}
Penanganan
Kejadian
(Event Handling)
Event
Event
Kategori
Interface
Method
Action
ActionListener
actionPerformed(ActionEvent)
Item
ItemListener
itemStateChanged(ItemEvent)
Mouse
MouseListene mouseClicked(MouseEvent)
mouseEntered(MouseEvent)
r
mouseExited(MouseEvent)
mousePressed(MouseEvent)
mouseReleased(MouseEvent)
Mouse
Motion
Key
MouseMotionLi
stener
KeyListener
mouseDragged(MouseEvent)
mouseMoved(MouseEvent)
Focus
FocusListener
focusGained(FocusEvent)
focusLost(FocusEvent)
Window
WindowListene windowClosing(Windowevent)
windowOpened(Windowevent)
r
keyPressed(KeyEvent)
keyReleased(KeyEvent)
keyTyped(KeyEvent
windowActived(Windowevent)
Listener
Deskripsi
ComponentListen
er
FocusListener
KeyListener
MouseListener
MouseMotionList
ener
MouseWheelListe
Listener Method
ActionListener
actionPerformed(ActionEvent)
AncestorListener
ancestorAdded(AncestorEvent)
ancestorMoved(AncestorEvent)
ancestorRemoved(AncestorEvent
)
CaretListener
caretUpdate(CaretEvent)
CellEditorListener
editingStopped(ChangeEvent)
editingCanceled(ChangeEvent)
ChangeListener
stateChanged(ChangeEvent)
ComponentListener
ComponentAdapter
componentHidden(ComponentEv
ent)
componentMoved(ComponentEve
nt)
componentResized(ComponentEv
ent)
componentShown(ComponentEve
nt
ContainerListener
ContainerAdapter
componentAdded(ContainerEvent
)
Deskripsi
Listener or Adapter
Listener Method
FocusListener
FocusAdapter
focusGained(FocusEvent)
focusLost(FocusEvent)
HierarchyBoundsListe
ner
HierarchyBoundsAdap
ter
ancestorMoved(HierarchyEvent)
ancestorResized(HierarchyEvent)
HierarchyListener
hierarchyChanged(HierarchyEvent)
HyperlinkListener
hyperlinkUpdate(HyperlinkEvent)
InputMethodListener
caretPositionChanged(InputMethod
Event)
inputMethodTextChanged(InputMet
hodEvent)
InternalFrameListener
InternalFrameAdapter
internalFrameActivated(InternalFra
meEvent)
internalFrameClosed(InternalFrame
Event)
internalFrameClosing(InternalFram
eEvent)
Deskrip
si
Listener Method
ListDataListen
er
contentsChanged(ListDataEvent)
intervalAdded(ListDataEvent)
intervalRemoved(ListDataEvent)
ListSelectionLi
stener
valueChanged(ListSelectionEvent)
MenuDragMou
seListener
menuDragMouseDragged(MenuDragM
ouseEvent)
menuDragMouseEntered(MenuDragMo
useEvent)
menuDragMouseExited(MenuDragMou
seEvent)
menuDragMouseReleased(MenuDragM
ouseEvent)
MenuKeyListe
ner
menuKeyPressed(MenuKeyEvent)
menuKeyReleased(MenuKeyEvent)
menuKeyTyped(MenuKeyEvent)
Desk
ripsi
Listener Method
MouseListener
mouseClicked(MouseEvent)
mouseEntered(MouseEvent)
mouseExited(MouseEvent)
mousePressed(MouseEvent)
mouseReleased(MouseEvent)
MouseMotionListene mouseDragged(MouseEvent)
r
mouseMoved(MouseEvent)
MouseMotionAdapte
r,
MouseInputAdapter
MouseWheelListener popupMenuCanceled(PopupMenuEv
MouseAdapter
ent)
popupMenuWillBecomeInvisible(Po
pupMenuEvent)
popupMenuWillBecomeVisible(Popu
pMenuEvent)
PropertyChangeList
ener
propertyChange(PropertyChangeEv
ent)
TableColumnModelLi
columnAdded(TableColumnModelEv
Deskrips
i
The Palette
The Inspector
Aplikasi
Aplikasi
Aplikasi
Aplikasi
Aplikasi
Aplikasi
Konversi Suhu
Pertambahan Dua Angka
Penghitungan Jumlah Hari
Kalkulator
Penentu Nilai Mahasiswa
Biodata Mahasiswa
GUI
Nama
Project: CelciusToFahrenheit
Uncheck: Create Main Class
3. Menambahkan JFrame
Form Pada Project
Nama
Frame: CelciusToFahrenheitGUI
Package: GUI
3. Menempatkan GUI
Component ke Design
(Frame)
JTextField1:
Kosongi
JLabel1: Celcius
JLabel2: Fahrenheit
JButton1: Convert
celciusTextField
JLabel1: celciusLabel
JLabel2: fahrenheitLabel
JButton1: convertButton
double fahrenheit =
Double.parseDouble(celciusTextField.getText()) * 1.8 + 32;
GUI
method baru
panggil method
GUI
GUI
GUI
Aplikasi Penampil
Gambar
GUI
Component:ComboBox, CardLayout
Logic Programming: none
Event: itemStateChanged
GUI
Component:TextField, PasswordField,
Menu Bar, Menu Item
Logic Programming: If-Else
Event: KeyPressed
GUI
Aplikasi Kalkulator
GUI
Aplikasi Kalkulator
1. Cara bekerja
seperti
kalkulator
2. Tombol yang
kita tekan
akan muncul
di layar
3. Hasil
perhitungan
akan muncul
di layar
4. Keterangan:
C = clear
3.
4.
8 = 15
operator operandDua
samadengan
hasil