0% menganggap dokumen ini bermanfaat (0 suara)
19 tayangan

Modul 16 GUI.

java
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
19 tayangan

Modul 16 GUI.

java
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF atau baca online di Scribd
Anda di halaman 1/ 20
GUI (GRAPHICAL USER INTERFACE) 16.1. Abstract Windowing Toolkit (AWT) vs. Swing, The Java Foundation Class (FC), merupakan bagian penting dari Java SDK, yang termasuk dalam koleksi dari API dimana dapat mempermudah pengernbangan aplikasi JAVA GUI. JEC termasuk diantara 5 bagian utama dari API yaitu AWT dan Swing. Tiga bagian yang lainnya dari API adalah Java2D, Accessibility, dan Drag and Drop. Semua itu membantu pengembang dalam mendesain dan mengimplementasikan aplikasi visual yang lebih baik. ‘AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi Java dan Applet. Tidak seperti beberapa komponen AWT yang menggunakan native code, keseluruhan Swing ditulis menggunakan bahasa pemrograman Java. Swing menyediakan implementasi platform-independent dimana aplikasi yang dikembangkan dengan platform yang berbeda dapat memilki tampilan yang sama. Begitu juga dengan AWT menjamin tampilan look and feel pada aplikasi yang dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Swing AP! dibangun dari beberapa AP! yang mengimplementasikan beberapa jenis bagian dari AWT. Kesimpulannya, Komponen AWT dapat digunakan bersama komponen Swing. 16.2. Komponen GUI 16.2.1. JFrame Frame merupakan Komponen dasar dalam membuat aplikasi GUI, dimana frame berfungsi sebagai container atau wadah untuk menampung Komponen GUI lainnya. Untuk mengatur ukuran JFrame, dapat menggunakan method setSize, void setSize (int! width; int height) Default dari JFrame adalah not visible atau tak tampak hingga kita harus mengatur visibility menjadi true. Perintahnya adalah ; void Setvisibie (iootean b} Dalam mendesain aplikasi GUI, Object Frame selalu digunakan. Dibaweh ini adalah contoh bagaimana membuat sebuah aplikasi.. dnport Javaxvswings*7 public class TampilFrame extends JFrame( public Tampilframe () { Super ("Membuat Frame dengan JFrame"); ‘setSize(350,200); sotDefaultCloseOperation (EXIT ON_CLOSE) + setVisible (true)? ) public static void main(String args(1){ Tampilframe frameku = new TampilFrame(); > , page 1 of 21 ‘Tampilan program diatas adalal Gambar 16.1. Tampilan JFame 16.2.2. JPanel JPanel digunakan untuk membuat sebuah panel yang berfungsi sebagai container untuk menampung berbagai macam komponen, seperti label, button, textfield, table dan lain-lain. Kode program dibawah ini adalah contoh untuk membuat panel, tetapi obyek panelnya tidak terlihat, karena hanya sebagai penampung dan mengatur tata letak komponen-komponen GUI. ampere Javaxiswing.*7 public class TampilPanel extends JFrame( private JPanel panelka = new JPanel (); public TampilPenel () ( super ("Membuat. Panel") ; panelku.setLayout (nui1); panelku.setSize (150,200); ‘eotSize (350,200); ‘setDefauil tClose0peration (EXIT_ON_CLOSE) ; getContentPene().addipanelku); setVisible(true| ) public static void main(String args (1) { ‘TompilPanc] frameku = new TempilPane? ()7 ) ) Tampilan program diatas adalal Gambar 16.2, Tampilan JPanel page 2 of 21 16.2.3. JLabel JLabel digunakan untuk menampilkan teks yang berfungsi untuk memberikan keterangan atau menjelaskan komponen GUI lainnya agar mudah dimengerti oleh user. Contoh program untuk menampilkan JLabel adalah sebagai beriku import Javax.swing.*7 public class TampilLabel extends JFrame{ private JPanel panelki = new JPanel (); Pivate static Jiabel labelku = new JLabel ("Label dengan gava"|; ‘Tampi babel () { super ("Membuat Label"] 7 panelku.setLayout (null); ‘setSize(350,200); setDefaultCloseOperation (EXIT_ON_ CLOSE) ; ‘label ku.set Bounds (60,20, 160, 25) panelku.add (Label ku) ; getContentPene()-add {panel ku); eetVioible(trus); ) public static void main(String args {]){ Tampillabel frameku = new Tampillabel (); ) ’ ‘Tampilan program diatas adalal Lene Gambar 16.3. Tampilan JLabel 16.2.4. ITextField STextField adalah komponen GUI yang biasa digunaken untuk memasukkan data dengen mengetik dari keyboard. Kode program dibawah ini adalzh contoh untuk membuat JTextField : import javax-swing.*7 public Class Tampilrextrield extends Jrrame( private JPanel panelku = new JPanel (); private static JTewtField TxtNama - new JTextPisla(); ‘Tampi TextField () ( super ("Membuat: TextPiel page 3 of 21 pane?ku, settayout (null); ‘20tSize(350,200); setDefaul tClosaQperation (EXTT_ON_CLOSE) + ‘TxtNama.setBounds (60,20, 160,25); panelku.add (PxtNama) ; getContentPane().add {panel ku); SetVisible (true); » public static void main(String args{])| ‘TampilTaxtField franeea = new TampiltextField(); i ) ‘Tampilan program diatas adalah : Cee Gambar 16.4. Tampilan JTextfield 162.5. sButton Button digunakan untuk membuat sebuah tombol yang berfungsi untuk menerima input dari user berupe kik menggunakan mouse atau tombol enter dari keyboard. Contoh program untuk menampilkan JButton adalah sebagai berikut : import Javax.swing.*7 public class TampilTombol extends JFrane{ private JPanel panelku = new JPanel ()7 private static JButton Tonbol = new JButton("Tonbol") ; ‘Tampi1Tonbvol () { super ("Mombuat Tonbol") panelku.setLayout (null)? setSize (350,200) setDefaultCloseQperation (EXIT ON CLOSE); ‘Tombol . setBounds (130, 90, 80,25) + panelku.add (Tonbol) ¢ getcontentPane().add (panel xu) ; Setvisible (true); ) public static void main(String args{}){ TampilTonbol frameku = new TampilTombol (); //Tombol. set Text ("sffast") ; page 4 of 21 ‘Tampilan program diatas ada Gambar 16.5. Tampilan JButton 16.2.6. JComboBox JComboBox merupakan sebuah Kelas pada swing yang berguna untuk membuat sebuah ComboBox. ComboBox biasanya digunakan untuk menampilkan daftar item sebagai pilihan untuk user. Berikut ini adalah kode program untuk menampilkan JComboBox : inport /Javax:swing #7 public class TampilcomboBox extends JFrane{ final static String Pilihan|] = ("Pilihan ke-1","Pilihan ke=2", "pilihan ke-3"); private JPanel panelku = new JPanel (); private static JConboBox ComboBox = new JComboBox(Pilihen); ‘Tampi 1ComboBox |) ( super ("Membuat ComboBox") panelku.setLayout (null); ‘setSize(350,200); setDefaultCloseOperation (EXIT_ON_CLOSE) ; Combosox. setBounds (90, 70,150,25)7 panelku.add (ComboBox) + gotContentPano()-add (panel iu); setVisible(trus); » public static void main(String args{]){ TampilConboBox frameku = new TamoilComboBox(); Conbosox.additem("Pilinan Tambahan Conboaex.renoveTten (*Pilihan ke-2"); page S of 21 ‘Tampilan program diatas adalal Gembar 16.6. Tampilan JComboBox 16.2.7. JMenu JMenu digunakan untuk membuat menu pull-down yang dapat digunakan untuk memanggil suatu form. Suatu menu biasa terdiri dari beberapa bagian, seperti menu induk, submenu dan menu item. Untuk membuat menu secara lengkap, diperluken beberapa komponen pendukung lainnya, seperti JMenuBar, Menu, dan JMenultem, Berikut ini adalah contoh untuk menampilkan JMenu inpoxt Javanewing.+7 inport java-awt.*7 public class TampilMenuBar extends JFrame( private JMenuBar MenuSar = new JMenuBar(); private JMenu NenuMaster = new Jéenu("Naster Data"); private JMenurtem MenuBarang = new JMenurtem("Barang”), MenuCuetomer = new Jéenurtom("Cuctomer") , Menutseraccount = new JNensIten("User Account") 7 private JMenu NenuTransaksi = new JMenu("Transaksi") ; private JMenuttem MenuPenjualan = new JMenuItem("Penjualan"), MenuPenbelian = new JNenulten(*Pembelian") ; private JMenuttem Menugxit = new JMenurtem("Bxit"); Dimension dinensi = Toolkit getefaulttoolkit () .gstScreenSize (|; TampilMenuBaz () { super ("Membuat Menu") ; ‘setSize (350,300); SetLocat ion (dimensi width/2-getwidth ()/2, dimensi -neight/2- getHleight () /2); ‘BetDefaultClossOperation (EXIT_ON_CLOSE) MenuMaster add (MenuBaranc) ; MenuMaster add (NenuCustoner) ; MenuMasteraddSeparator (); MenuMaster. add (MenuUserAccount) ; Menubar.add (Menuaster) ; Monufrancaked .add (MenuPenjualan| MenuTransakei .add (MenuPenbel ian) ; page 6 of 21 MenuBar.ada (MenuteansaXsi) 7 MonuBar add (Menuexit) + set JMenuBar (NenuBar) setVisible (true); ) public static void main(String args {}){ ‘TampilMenuBar frameku = new TampilMenuBar ()7 ) Tampilan program diatas adalal Lene User Account Gambar 16.7, Tampilan JMenu 162.8. JTable JTable merupakan kelas yang digunakan untuk membuat tabel. Selain menggunakan kelas JTable, dalam membuat sebuah table juga diperiukan kelas lain yang terdapat dalam paket Swing, seperti keles DefaultTableModel dan kelas JScrollPane. Berikut ini adalah contoh program untuk menampiikan table : snport Gavaxiswings*7 inport Javax.swing.table.DefaultTablemodel; inport: javax. swing table. TableColumn; import Javan. ewing.table."s public class TampilTabel extends JFrame( static String Judulkolon{] = ("No.", "NIM", "Nama", "Angkatan","Kelas"}; static Default?ableModel ModelTabel = new DefaultTableModel (null, JudulKolom) Static JTable 7abel = new JTable()7 JacxollPane ScrollBar - new JScrollPane ()i private JPanel panolku = nev JPanel (); ‘TampilTabel () { super ("Menampilkan Tabel"); setSize (400,240); page 7 of 21 Sette faultcloseoperation (ePraite.SxtT ON CLOSE) 7 panelka ,sotLayout (null) ; Tabel .setModel (Model Tabel) ; Scrol1Bar.getViewport () add (Tabel) + Tabel .setEnabled (true| > // Disable auto resizing Tabel .setAutoKesizevode (JTable-AYTO_RESIZE OFF); // set Column width TableColama col = Tabel.getColunMadel |) getColumn (6) col .setPreferrednidth (30): // Column Alignment DefaultTableceliRenderer rightRenderer = new DefaultTablecelinenderer() ; gightRendezer.setllorizontelAlignment ( dLebel.RIGH? ); ‘abel .getColummModel (| .getColunn (0) .eetCellRanderer| rightRenderer Scrol1Bar. setBounds (20, 20,350,160) panelku.add (ScrollBar} ; get Content Pane () .ada (panelku) ¢ //getContentPane () .add (Scro11Bar) ; set Visible (true) ; ) public static void main(String args[]) | Tampilfabel frameku = new TampilTabel (); int 4; for (i-0;ic=15;i+4) ( ModelTabelinsertRow (i,new Object [](1+1,"NIM ke-"4i,"Nama_ke- "Hi, "Angkatan ke-"Hi, "Kelas ke-"43})7 > Tabel -setValueat ("Nama 1",0,1)7 ) ‘Tampilan program diatas adalah : euacuner Ne[ Ni | Nama | _Angkatan i|Namat Nama xe-0_|Angkstan i. |Halas ko-0_| wike-1 [Nama xo-1 [Anglatank. |kslas kot SIN ke-? Nama ce? [angkatank_ [Kalas ke? IN ie-3 Nama e-3_langketan kas ke-3 SINM-ke-4 Nama xe-¢ Angkatan k. [Kelas ke-4 BINM ie-5 Nama e-5[angketan k [Kelas ke-5 TINMe-6 Nama e-3_[Angketan k_ (Kelas ke-6 SINM ke-? Nama ce-7_langkatank. [Kelas ke-7 (alKintea. it —iniama ead lanatstan ke —lalas ka Gambar 16.8. Tampilan JTable page 8 of 21 16.3. GUI Event Handling ‘Agar Komponen GUI yang kita buat dapat menghasilkan suatu event, ketika user melakukan interaksi terhadap komponen GUI, seperti melakukan Klik terhadap menu atau button, menekan tombol keyboard, menggerakkan mouse dan lain-lain, diperlukan listener untuk mendeteksinya. Dengan adanya listener, event yang dihasikan dari komponen GUI dapat mengarahkan ke suatu instruksi program. Untuk dapat menggunakan listener, diperlukan paket yang terdapat dalam java.awt.event.*. 163.1, Delegation Event Model Delegasi event model menguraikan bagaimana program yang kita buat dapat merespon interaksi dari user. Untuk memahami model, pertama-tama mari kita pelajari melalui tige komponen utamanya. a. Event Source Event source mengacu pada komponen GUI yang meng-generate event. Sebagai contoh, jika user menekan tombol, event source dalam hal ini adalah tombol. b. Event Listener/Handler Event listener menerima berita dari event-event dan proses-proses interaksi user. Ketika tombol ditekan, listener akan mengendalikan dengan menampilkan sebuah informasi yang berguna untuk user. c. Event Object Ketika sebuah event terjadi (misal, ketika user berinteraksi dengan komponen GUI), sebuah obyck event diciptakan. Obyck berisi semua informasi yang peru tentang event yang telah terjadi. Informasi meliputi tipe dari event yang telah terjadi, seperti ketika mouse telah di-klik, Ada beberapa class event untuk Kategori yang berbeda dari user action. Sebuah event object mempunyai tipe data mengenai salah satu dati class ini. Di bawah ini adalah delegation event model. EVENT SOURCE Qo © EVENT LISTENER the Evert Gambar 16.9. Delegation Event Model page 8 of 21 Pada awalnya, sebuah listener seharusnya diregistrasikan dengan sebuah source sehingga dapat menerima informasi tentang event-event yang terjadi pada source tersebut. Hanya listener yang sudah teregistrasi yang dapat menerima pemberitahuan event-event. Ketika telah teregistrasi, sebuah listener hanya tinggal menunggu sampai event terjadi Ketika sesuatu terjadi dengan event source, sebuah event object akan menguraikan event yang diciptakan. Event kemudian ditembak oleh source pada listener yang teregistrasi. ‘Saat listener menerima sebuah event object (pemberitahuan) dari source, dia akan bekerja. Menerjemahkan pemberitahuan dan memproses event yang terjadi. 16.3.2, Registrasi Listeners Event source mendaftarkan sebuah listener melalui method addeType>tistener. void add tergantung pada tipe dari event source. Dapat berupa Key, Mouse, Focus, Component, Action dan lainnya. Beberapa listeners dapat diregistrasi dengan satu event source untuk menerima pemberitahuan event. Listener yang telah teregistrasi dapet juga tidak diregistrasikan lagi menggunakan method removetistener. void YenovecType>Listener (Event 16.3.4. Event Listeners Event listeners adalah class yang mengimplementasikan interfaces Listener. ‘Tabel di bawah menunjukkan beberapa listener interfaces yang biasanya digunakan. Tabel 16.2. Event Listeners Event Listeners Deskripsi ActionListener Bereaksi atas perubahan mouse atau atau keyboard. Mouselistener Bereaksi atas pergerakan mouse. MouseMotionlistener | Interface MouseMotionlistener mendukung Mouselistener. Menyediakan method-method yang akan memantau pergerakan mouse,seperti drag dan pemindahan mouse. ‘WindowListener Bereaksi atas perubahan window. 16.3.4.1. Method ActionListener Interface ActionListener hanya terdiri dari satu method, yaitu public void “actionPerformed (Act ionsvent @) Mengendalikan ActionEvent e yang terjadi. 16.3.4.2. Method Mousetistener Di bawah ini adalah method-method MouseListener yang seharusnya digunakan dalam penerapan class. a, public void mouseClicked (NouseEvent el Dipangeil pada saat tombol mouse di click (seperti tekan dan lepas). b. public void mouseEntered (MouseEvent | Dipanggil pada saat kursor mouse memasuki area komponen. ©. public void mouseExited (MouseEvent e) Dipanggll pada saat kursor mouse meninggalkan area Komponen. d. public void mousePressed(NouseEvent | Dipanggil pada saat tombol mouse ditekan di atas komponen @. public void mouseReleased [MouseEvent e) Dipanggil pada saat tombol mouse dilepas di atas komponen page 11 of 21 16.3.4.3. Method-Method MouseMotiontistener MouseMotionListener mempunyai dua method untuk diimplementasikan. a. public void mouseDragged (NouseEvent e} Digunakan untuk memantau pergerakan mouse yang melintasi object pada saat tombol mouse ditekan. Tindakan ini persis sama dengan tindakan pada saat memindahkan sebuah window. b. public void mouseloved (MouseBvent ] Digunakan untuk memantau pergerakan mouse pada saat mouse melintasi area suatu object. Pada saat ini tidak ada mouse yang ditekan, hanya memindahkan pointer mouse melalui objek. 16.3.4.4. Method-Method WindowListener Di bawah ini method-method dari interface Windowlistener. a. public void windowOpened (WindowEvent e) Dipanggil pada saat object window dibuka (pertama kali window dibuat tampil). b. public void windowClosing|WindowEvent e} Dipanggil pada saat user mencoba untuk menutup object Window dari menu system object. ©. public void windowClosed (WindowEvent ¢) Dipangeil pada saat object Window ditutup setelah memangeil penempatan (misal, release dari resource-resource yang digunakan oleh source) pada object. d. public void windowActivated(WindowEvent e} Dilibatkan ketika object Window adalah window yang aktif (window masih dipakai). @. public void windowDeactivated(WindowEvent e} Dilibatkan ketika object Window tidak lagi merupakan window yang aktif. f. public void windowIconified(WindowEvent e) Dipanggil ketika object Window di-minimize. & public void windowDeiconi fied (WindowEvent e) Dipanggil ketika object Window kembali setelah di-minimize ke keadean normal. 16.3.5. Petunjuk untuk Menciptakan Aplikasi Handling GUI Events Berikut ini langkah-langkah yang dibutuhken untuk mengingat ketika ingin membuat aplikasi GUI dengan event handling, ‘a, Buatlah sebuah class yang menguraikan dan membuat suatu tampilan dari aplikasi GUL b, Buatlah sebuah class yang menerapkan interface listener yang sesuai, Class ini boleh mengacu pada class yang sama seperti pada langkah awal. . Dalam menerapkan class, gunakan semua method-method dengan interface listener yang sesuai. Uraikan masing-masing method bagaimana kita ingin mengendalikan event-event. Kita dapat memberikan implementasi kosong untuk method yang tidak ingin kita gunakan. d. Daftarkan object listener, instansiatiate dari class listener pada langkah b, dengan source component menggunakan method addtistener. page 12 of 21 16.3.6. Contoh Mouse Events page 13 of 21 MouseBventsDemo ned — new MéuseEventsDemo ("Mouse Events Deno"); med.launchFrame ()7 i » Tampilan program diatas adalah : Ee Nouco reseed ent 11108 Gambar 16.10. Tampilan Mouse Event 16.3.7. Contoh Event Listener Berikut ini adalah contoh penggunaan event listener ampere Savas ewikg) import Jjava-awt-event.*7 inport java.awt.*; public class evenTombol extends JFrane( private JButton tonbolku = new Button("Eitung") ; private JLabel labelku = new dLabel (); private JPanel penelku - new JPanel (); Dimension dinonei = Toolkit .getDefaulttoolkit() gstscrecnsize (|7 private int Jmi=1; evenTombol() | super ("Event Tombol"); panelku.setLayout (null); SetSize (350,200) ; Set Location (dinensi.width/2-getwidth() /2,dimensi height /2~ getHeight () /2)+ set Da faultCloseOperation (EXIT_ON_CLOSE); Label ku. setBounds (55, 20,200,25) : Label ku. setVisible (false) ; ‘tomkolku. setBounds (100, 90,120,25) 2 tombolku-addActionListener (new ActionListener () ( public void actionPerforned (ActionEvent env) { Jabelku, setVisible (true); Jabelku.cst7ext (MTombol tolah ditokan "4Jml+" kali* Smits page 14 of 21 panieLk sada (Jabe2Ku))7 panel .add (tonbol ka) + getContent Pane () .acd (panelku) : setVisible(true) ; public static void main(String args{1){ eventonbol evenku = new eventombol(); ) Tampilan program diatas adalah : EXtvent Tombol ‘Tombottelah ditekan 2 Kall Gambar 16.11. Tampilan Event Listener 16.4. Contoh Aplikasi Kalkulator Sederhana Berikut ini adalah aplikasi kelkulator sederhana yang terdiri dari tombol angka 1, angka 2, tambah dan sama dengan : import Javaxvewings*7 import java-awt.event.*; inport java.awt.*7 public class Kalkulatorku extends gFrane{ private static JlextFicld tampilanfextField ~ new Jextricld(); private static String operant private static String operant2 = private static String operatorDipilin = " private static boolean setelahOperator = false; private JButton tonbol1 = new gButton(*1"); private JBatton tonbol2 ~ new JButton(*2"); private JRatton tonbolTambah = new dautton private JBatton tonbolSamaDengan = new JButton (" private JPanel panelku = new JPanel (); Dimension dinensi = Toolkit .getDefaultToolkit() .getScreenSize (|; private int Jml=1; Kalkulatorka() | super ("Aplikasi Kalkulatorku panelku..setLayout (null) ; setSize (350,200); page 16 of 21 double operantrertana = 07 double operantKedua = 0) try { ‘operantPertama = Double.parseDouble (operant) ; } catch [Exception ex) { ) try ( ‘operantKedua = Double.parsoDouble (operant?) ; ) catch (Exception ex) ( if (operatorDipilih == "+") { tanpilantextField.setrex: (Double. tostring (operantrertanatoperantKedva)) ; public static void main(String args{]){ Kalkulatorku kalkulator = new Kalkulatorku(); Tampilan aplikasi kalkulator : Le Dieu Gambar 16.12. Tampilan aplikasi kalkulator 16.5. Desain Aplikasi MDI Sekarang kita membuat desain aplikasi took menggunakan MDI (Multiple Document Interface). import inport inport public Javan. swing. +? Java .awe 7 Java -awt .event.*; class Aplikasifoko extends JFrane{ private Jbesktoprane frnmpr; private JIaternalfrane fraBarangi private JInternalPrame frnCustoner: private JInternalframe frnserAccount; private JPanel pniBarang; page 17 of 21 private JMenuBar MonuBar = new JMenuBar(); private JMenu MenuMaster = nev JMenu("Naster Data"); private JMenuitem NenuBarang = new JMenultem("Barang"), MenuCustomer = new JMenurtem("Customer"), MenullserAccount = new JMenaIten("User Account" private JMenu MenuTrancakei = new JMenu(Txansaksi"); private JMenuIten MenuPenjualan = new JMenuItem("Penjualan"), MenuPenbelian = new JNenuTten("Pembelian") ; private JMenuItem MenuExit = new JMenultem("Exit"); private static Jlabel LblKodeBarang = new JLabel ("Kode Barang"|; Private static JiextField TxtKodeBarang = new JTextField(); private static label LblNanafarang ~ new Gbabel ("Name Barang"); private static JTextField TxtNamaBarang = new JTextField(); private static Jlabel LbliargaBarang = new Jlab=l("Harga Barang"); private static JTextField TxtHargaBarang = new JTextField (); private static JButton tblBarangSave = new JButton(*Save"); Private static JEutton TbiBarangCancel = new JButton ("Cancel"); Dimension dimenoi - Toolkit .getDefauletoolkit() .getscreensize (| + AplikasiToko() | super ("Aplikasi Toko"| SetSize (650,500) 7 setLocation (dinensi.width/2-getwidth() /2,dimensi-height /2- getHeight () /2); ‘SetDefaultclosedperation (EXIT_ON CLOSE); frmWDI ~ new JDesktopPane ()7 frmMDI. setLayout (null| 7 this.add(frmMD1) 7 Menutlaster.add (MenuBarang) ; MenuMaster add (MenuCustomer) Menubfaster,addSeparator() ; Menutias ter. add (MenuUseraccount) ; MenuBar .add (Nenuaster) ; MenuTransaksi .add (MenuPenjualan| MenuTransaksi . add (MenuPembel i an| MenuBar .add (NenuTransaksi) ; MenuBar . add (NenuExit) + /* Wenanbabkan action listener */ MenuBarang.addactionListener (new Menutlandler ()) + MenuCustomar.addactionListerer (naw Menutlandler ()): MenuserAccount .addAct ionlistener (new MenuHandler ()); Menufxit.addActionListener (new Menullandler ()); ‘Tb1BarangSave .addActionListener (new TonbolHandler ()); mblzarangcance1.addactioniistener (nev TorbolHandier |) )7 setContentPane (frmMDI} 7 frmBarang = new dInternalFrame(); frmBarang.setTitle ("Master Data Sarang"); frmCustoner = new Jinternalframe("Master Data Custoner"); page 18 of 21 page 19 of 21 Gambar 16.13. Tampilan Mouse Event page 20 of 21

Anda mungkin juga menyukai