Eno. Diberdayakan oleh Blogger.

Pages

RSS

GUI

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;
}
}

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar