Selasa, 29 Januari 2013

Contoh Script JMenu Pada JAVA

JMenu

Pada pembahasan kali ini, kita akan membahas tentang JMenu.
Contoh kode program nya :

import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
class CobaMenu extends JFrame{
JMenuBar menuBar;
JMenu file, doc, edit, help;
JMenuItem open, save, exit, delete, copy, paste, about;

public CobaMenu(){
setTitle("Menu");
setSize(200,200);
file= new JMenu ("File");
file.setMnemonic('F');
doc= new JMenu ("Document");
doc.setMnemonic('D');
edit= new JMenu ("Edit");
edit.setMnemonic('E');
help= new JMenu ("Help");
help.setMnemonic('H');
open= new JMenuItem ("Open");
open.setMnemonic('O');
save= new JMenuItem ("Save");
save.setMnemonic('S');
exit= new JMenuItem ("Exit");
exit.setMnemonic('X');
delete= new JMenuItem ("Delete");
delete.setMnemonic('L');
copy= new JMenuItem ("Copy");
copy.setMnemonic('C');
paste= new JMenuItem ("Paste");
paste.setMnemonic('P');
about= new JMenuItem ("About");
about.setMnemonic('A');


menuBar= new JMenuBar();
setJMenuBar(menuBar);
menuBar.add(file);
file.add(open);
file.add(save);
file.addSeparator();
file.add(exit);
menuBar.add(doc);
doc.add(edit);
edit.add(copy);
edit.add(paste);
edit.add(delete);
menuBar.add(help);
help.add(about);

exit.addActionListener (new ActionListener(){
public void actionPerformed (ActionEvent e ){
System.exit(0);
}

});

setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
}

public class MainMenu{
public static void main (String[] neno){
CobaMenu m= new CobaMenu();
}
}
 penjelasan program  :
         membuat kelas CobaMenu yang merupakan turunan dari kelas JFrame, isinya membuat menubar (untuk menempatkan menu-menu), membuat menu file, doc, edit, help, kemudian membuat menuitem (untuk menyusun item menu yang berupa teks atau label, termasuk membuat shortcut dari keyboard).
         selanjutnya didalam kelas CobaMenu dibuat judul Menu, ukuran form nya 200*200. dibuat menu File menu Document, Edit, Help. dibuat menu item open, save, exit, delete, copy, paste, about. lalu diatur lah kemana menu apa menu item- menu item tersebut dimasukkan. setelah diatur dibuat pula kode untuk mengaktifkan tombol close pada form yang muncul.
Hasilnya seperti dibawah ini :

Kita membuat 3 Menu yaitu : File, Document, Help.

  Didalam menu File terdapat open, save, exit.Kalau exit diklik maka akan menutup system.

  
 Didalam menu Document terdapat edit dan didalam edit ada copy, paste, dan delete, terakhir menu Help ada about.
Contoh program yang lain :
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;

class FFrame extends JFrame implements ActionListener{
JButton btnTutup= new JButton ("TUTUP");

public FFrame(){
super ("Frame");
setSize(200,100);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLayout(null);
add(btnTutup);
btnTutup.addActionListener(this);
btnTutup.setBounds(40,20,100,20);
setVisible(true);
}

public void actionPerformed(ActionEvent e){
if(e.getSource()==btnTutup){
dispose();
}
}
}

ketika dijalankan maka dia akan meminta kelas utama karena ini bukan kelas induk. Selanjutnya kita buat lagi kelas yang lain, yang hampir sama dengan kode diatas.
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;

class FDialog extends JDialog implements ActionListener{
JButton btnTutup= new JButton ("TUTUP");

public FDialog(){
setTitle ("Dialog");
setSize(200,100);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
setLayout(null);
add(btnTutup);
btnTutup.addActionListener(this);
btnTutup.setBounds(40,20,100,20);
setVisible(true);
}

public void actionPerformed(ActionEvent e){
if(e.getSource()==btnTutup){
dispose();
}
}
}

Program ini sama dengan program FFrame.java yang juga membutuhkan kelas utama. Berikut kode kelas utamanya:
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
class Menu extends JFrame{
JMenuBar menuBar;
JMenu file, buatBaru;
JMenuItem exit, frame, dialog, pesan;

public Menu(){
setTitle("Menu");
setSize(200,200);
file= new JMenu("File");
file.setMnemonic('F');
buatBaru= new JMenu("BuatBaru");
buatBaru.setMnemonic('B');
exit= new JMenuItem("Exit");
exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,ActionEvent.CTRL_MASK));
frame= new JMenuItem("Frame");
frame.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,ActionEvent.CTRL_MASK));
dialog= new JMenuItem("Dialog");
dialog.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,ActionEvent.CTRL_MASK));
pesan= new JMenuItem("Pesan");
pesan.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,ActionEvent.CTRL_MASK));

menuBar= new JMenuBar();
setJMenuBar(menuBar);
menuBar.add(file);
file.add(exit);
menuBar.add(buatBaru);
buatBaru.add(frame);
buatBaru.add(dialog);
buatBaru.add(pesan);

exit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
frame.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new FFrame();
}
});
dialog.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new FDialog();
}
});
pesan.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,"Tutup?","Pesan",JOptionPane.QUESTION_MESSAGE);
}
}
);

setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
}

public class MainMenu1{
public static void main (String[] neno){
new Menu();
}
}
penjelasan  kode :
         Sama dengan contoh program pertama yang membuat menu-menu. sekarang yang dibuat menu file dan BuatBaru, namun didalam kode ini akan dipanggil method FFrame dan FDialog, kedua method tersebut sudah kita kerjakan yang isinya hanya membuat button dengan nama tutup, sehingga ketika kita klik frame dari menu BuatBaru maka yang keluar button tutup saja. begitu juga dengan menu item dialog ketika diklik, namun untuk pesan akan menampilkan kotak pesan. anda bisa melihatnya saat anda berhasil menjalankan program tersebut.
hasilnya sbb :
Program diatas menampilkan 2 menu yaitu File dan BuatBaru.
apakah isi dari kedua menu tersebut?
sewaktu menu file diklik maka yang muncul adalah :
dan ketika menu BuatBaru diklik maka yang muncul adalah :
anda bisa mencoba menekan isi dari pada setiap menu, termasuk menggunakan keyboard untuk menjalankan shortcut yang dibuat.

1 komentar: