GUI(Graphical User Interface)
- GUI (Graphical User Interface), memungkinkan user untuk berinteraksi dengan komputer secara lebih
baik.
- Pengguna berinteraksi dengan berbagai elemen grafis,diantaranya: button, dialog box, menu, dsb.
- Sejak 1994 Sun Microsystem berupaya untuk membuat JAVA memiliki perangkat bergaya
desktop dengan ToolkitJAVA yang dikenal sebagai AWT (Abstract Windowing Toolkit).
- Tahun 1997, muncul JFC (Java Foundation Class) untuk kepentingan pembuatan aplikasi Window yang
merupakan pengembangan dari AWT.
- JFC mempunyai kode swing yang terdapat pada package yang disediakan pada JAVA SDK versi 1.2 ke atas
(JAVA 2).
- JAVA menyediakan dua graphical library.
. AWT (Abstract Windows Toolkit)
. Swing
- Contoh:
import java.awt.* ;
Import java.awt.event.* ;
Import javax.swing.* ;
Graphical Object
- Container (tempat), obyek yang dapat menampung komponen grafis dan tempat yang
lebih kecil
Contoh: frames, panels
- Component, obyek grafis yang berfungsi untuk menampilkan data, menerima masukan,
atau menunjukkan suatu kondisi.
Contoh: buttons, labels, text fields
- Event, obyek yang merepresentasikan suatu kejadian.
Contoh: gerakan mouse, penekanan tombol
- Listener, suatu obyek yang menunggu suatu kejadian khusus dan akan bereaksi
(melakukan sesuatu) jika kejadian tersebut terjadi.
Container : Frame
import javax.swing.*;
class FramePertamaku extends JFrame {
public FramePertamaku() {
setTitle( "Frame Pertama );
setSize( 300 , 200 );
}
}
public class Frameku {
public static void main (String args[ ] ) {
FramePertamaku coba = new FramePertamaku();
coba.show();
}
}
Beberapa method java.awt.Frame
- void setResizable (boolean b)menentukan apakah user dapat merubah ukuran frame
- void setTitle(String s)mengatur teks pada title bar
- void setIconImage(Image image)gambar yang digunakan sebagai icon dari frame
Component : Text
import java.awt.*;
public class WindowText extends Frame {
public void paint(Graphics g) {
setSize(300, 200);
setTitle(getClass().getName());
Font f = new Font( "Monospaced , Font.BOLD, 16);
g.setFont(f);
g.drawString( "Hello ... , 10 , 100);
g.drawString( "Salam kenal dari Frame ... , 30 ,120);
}
public static void main(String[ ] args) {
WindowText coba = new WindowText();
coba.setSize(500, 300);
coba.setLocation(200, 100);
coba.setTitle("Window Text );
coba.show();
}
}
Beberapa method java.awt.Font :
- Font (String name, int style, int size)mengatur jenis font, format font (PLAIN,BOLD,ITALIC) dan ukuran
font.
- String getFontName() mengetahui nama font face.
- String getFamily() mengetahui jenis keluarga font.
Component : Label
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class KomponenLabel {
public static void main(String[ ] args) {
JFrame frame = new JFrame("Membuat Label");
JLabel label = new JLabel("Pemrograman Berorientasi Obyek");
frame.getContentPane().add(label);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class KomponenLabelBerformat {
public static void main(String[] args) {
JFrame frame = new JFrame("Membuat Label");
JLabel label = new JLabel("Pemrograman Berorientasi Obyek");
label.setForeground(Color.yellow);
label.setBackground(Color.blue);
label.setOpaque(true);
label.setFont(new Font("SansSerif", Font.BOLD, 14));
frame.getContentPane().add(label);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Component : TextField
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TeksField {
public static void main(String[ ] args) {
JFrame frame = new JFrame("Membuat TeksField");
JLabel label = new JLabel("Nama :");
JTextField textField = new JTextField(20);
frame.getContentPane().setLayout(new FlowLayout());
frame.getContentPane().add(label);
frame.getContentPane().add(textField);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Component
Beberapa obyek ContentPanel, yaitu :
- JPasswordField, JTextArea, JButton, JRadioButton,
- JCheckBox, JComboBox.
.
Jika sebuah CLASS ingin bereaksi atas aksi yang dilakukan oleh pemakai(user) melalui
keyboard, mouse atau lainnya, maka Java menjawab dengan sistem yang disebut sebagai Event
Handling.
Program atau Interface ini disebut sebagai EventListener
ActionListener
Bereaksi atas perubahan komponen , seperti klik mouse atau tombol.
AdjustmentListener
Bereaksi atas perubahaan komponen untuk penyesuaian, misalnnya scrollbar yang digerakkan.
FocusListener
Event yang disebabkan oleh focus pada field, misalnya kursor berada pada field tersebut.
ItemListener
Bereaksi pada perubahan checkbox, radiobutton dan lainnya.
KeyListener
Bereaksi atas keyboard, misalnya penekanan tombol ALT Ctrl dan lainnya.
WindowsListener
Bereaksi atas perubahaan pada window, misalnya diperbesar, diperkecil, digeser atau ditutup.
MouseMotionListener
Bereaksi atas pergerakan mouse, misalnya bila melewati area komponen tertentu.
- Listeners terdaftar pada java.awt.event.*
- Setelah komponen dideklarasikan, maka listener dapat ditambahkan pada komponen tersebut, misalnya
pada Button:
Jbutton b1=new Jbutton("Tombol"); b1.addActionListener( )
- Listener harus ditembahkan lebih dahulu ke dalam komponen, sebelum komponen tersebut
diletakkan pada Frame/ Content Pane.
referensi : http://www.freewebs.com/tekomitn/Materi/PBO/Basic%20GUI.ppt
contoh enkripsi sederhana :
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.awt.event.*;
public class Enkripsi extends JFrame{
static String teks=”";
private JLabel LabelPesan=new JLabel(“Pesan:”);
private static JTextField TeksImputan=new JTextField(40);
private JLabel LabelPergeseran=new JLabel(“Pergeseran”);
private static JTextField TeksPergeseran=new JTextField(“2″);
private JLabel LabelEnkripsi=new JLabel(“Hasil Enkripsi:”);
private static JTextField TeksHasilEnkripsi=new JTextField(40);
private JButton TombolEnkripsi=new JButton(“Enkripsi”);
private JButton TombolReset=new JButton(“Reset”);
private JPanel PanelPesan_Label=new JPanel();
private JPanel PanelTombol=new JPanel();
public Enkripsi(){ //mengatur GUI
PanelTombol.setLayout(new GridLayout(6,1,30,10));
PanelTombol.add(LabelPesan);
TeksImputan.setToolTipText(“Isi pesan yang akan dienkripsi di sini”);
PanelTombol.add(TeksImputan);
PanelTombol.add(LabelPergeseran);
TeksPergeseran.setToolTipText(“Masukkan pergeseran di sini”);
PanelTombol.add(TeksPergeseran);
PanelTombol.add(LabelEnkripsi);
TeksHasilEnkripsi.setToolTipText(“Anda tidak perlu mengisi bagian ini. Bagian ini akan terisi setelah Anda melakukan enkripsi.”);
PanelTombol.add(TeksHasilEnkripsi);
setLayout(new FlowLayout(FlowLayout.LEFT,10,10));
add(PanelTombol);
TombolEnkripsi.setToolTipText(“Klik untuk melakukan enkripsi pesan”);
PanelPesan_Label.add(TombolEnkripsi);
TombolReset.setToolTipText(“Klik untuk menghapus semua pesan”);
PanelPesan_Label.add(TombolReset);
setLayout(new FlowLayout(FlowLayout.CENTER));
add(PanelPesan_Label,BorderLayout.SOUTH);
TombolEnkripsi.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try
{
int pergeseran=Integer.valueOf(TeksPergeseran.getText());
if(pergeseran>0 && pergeseran0){
for(int i=0;i=48 && kode_ASCII=65 && kode_ASCII=97 && kode_ASCII=33 && kode_ASCII=58 && kode_ASCII=91 && kode_ASCII=123 && kode_ASCII<=126)
ArrayHuruf[i]=(char)((kode_ASCII-123+pergeseran)%4+123);
}
}
teks=String.valueOf(ArrayHuruf);
}
else{
JOptionPane.showMessageDialog(null,”Error!!\nMasukkan pesan yang akan dienkripsi dulu”,”ERROR”,JOptionPane.ERROR_MESSAGE);
}
return teks;
}
}
GUI
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar