Selasa, 10 Januari 2012

Pertemuan 10


JMenu

Menu merupakan sebuah daftar dalam sebuah aplikasi yang menyediakan pilihan untuk dapat digunakan sesuai dengan yang diinginkan oleh pengguna. Melalui menu, anda dapat dengan mudah menjalankan atau menggunakan aplikasi yang sudah berisi daftar menu pilihan. Maka dari itu, tentu saja pembuatan menu menjadi bagian yang cukup penting dalam pembuatan sebuah aplikasi.

JMenu merupakan sebuah class dari Java dari package Swing. JMenu sebenarnya terbagi atas 3 jenis; JMenuBar, JMenu, dan JMenuItem yang dapat disebut constructor pada menu. JMenu ini akan menghasilkan menu pull down layaknya menu window, seperti menu file, edit, view, sampai help pada menu bar di Firefox.

Pembuatan text pada menu dapat dilakukan pada metode JMenu(), misalnya untuk menu bernama “File”, cukup menggunakan metode JMenu(“File”). Agar isi menu ini bisa dimasukkan pada menu bar, anda perlu menggunakan method add().

Lebih jelasnya berikut contoh skripnya:
Merupakan program untuk membuat menu dalam java dengan nama file MainMenu.java yang menggunakan package FDialog.java dan FFrame.java.
Di program ini anda juga dapat menggunakan shortcut melalui kombinasi tobol keyboard serta menggunakan tombol tertentu saja. Untuk melakukan ini gunakan method setMnemonic() serta setAccelerator().
  • setMnemonic() : Untuk memberikan garis bawah pada huruf atau karakter tertentu, dan penggunaannya dengan kombinasi penekan tombol alt+[Karakter yang dipilih].
  • setAccelerator() : Untuk membuat shortcut pada menu dengan kombinasi dari 2 tombol. Ex: Ctrl+N.
Berikut source codenya :
1.     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));

2.     file = new JMenu("File");
     file.setMnemonic('F');
    doc=new JMenu("Document");
    doc.setMnemonic('D');

1.     Program MainMenu.java
import java.awt.event.*; // pemanggilan package java.awt.event.swing
import javax.swing.*; // pemanggilan package javax.swing
import java.awt.*; // pemanggilan package java.awt.swing

class Menu extends JFrame{ // pendeklarasian class utama turunan dari class JFrame
JMenuBar menuBar;
JMenu file, buatBaru;
JMenuItem exit, frame, dialog, pesan;
public Menu() {
setTitle ("Menu"); // menentukan judul pada Menu Bar diJFrame
setSize(200,200); // menentukan ukuran JFrame
file = new JMenu("File"); // menentukan nama pada menu bar pertama
file.setMnemonic('F');
buatBaru = new JMenu("BuatBaru"); // menentukan nama pada menu bar kedua
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));
//membuat menu bar
menuBar = new JMenuBar();
setJMenuBar (menuBar);
menuBar.add(file); // menambahkan menu pertama
 file.add(exit); // menambahkan sub menu atau menu item pada menu file
menuBar.add(buatBaru); // menambahkan menu kedua
//menambahkan menu item pada menu buatBaru
 buatBaru.add(frame);
 buatBaru.add(dialog);
 buatBaru.add(pesan);


exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0); //membuat perintah keluar dari program untuk sub menu exit
}
}
);
frame.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new FFrame (); // pemanggilan package FFrame.java
}
}
);
dialog.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new FDialog (); //pemanggilan package FDialog.java

}
}
);
pesan.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null,
"Tutup?", "Pesan", JOptionPane.QUESTION_MESSAGE); // menampilkan kotak dialog pada saat pesan di klik
}
}
);
setDefaultCloseOperation(EXIT_ON_CLOSE); // membuat operasi exit pada JFrame
setVisible(true); // mengaktifkan atau membuat visible suatu JFrame

}
}
public class MainMenu{ // pemanggilan class
public static void main(String [] neno) {
new Menu();
}
}

2.     Program FDialog.java
import java.awt.event.*; // pemanggilan package java.awt.event.swing
import javax.swing.*; // pemanggilan package javax.swing
import java.awt.*; // pemanggilan package java.awt.swing

class FDialog extends JDialog implements ActionListener {
JButton btnTutup = new JButton ("Tutup");// Event untuk menutup window

public FDialog() { // mendeklarasikan class
setTitle("DIALOG");// membuat judul pada JFrame
setSize(200,100); // menentukan ukuran pada JFrame
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);// membuat operasi exit pada JFrame
setLayout(null);// menentuka tampilan Layout
add(btnTutup);// menambahkan tombol Tutup
btnTutup.addActionListener(this);
btnTutup.setBounds(40,20,100,20);// menentukan letak tombol pada JFrame
setVisible(true);// mengaktifkan atau membuat visible suatu JFrame

}

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

3.     Program FFrame.java
import java.awt.event.*; // pemanggilan package java.awt.event.swing
import javax.swing.*; // pemanggilan package javax.swing
import java.awt.*; // pemanggilan package java.awt.swing

class FFrame extends JFrame implements ActionListener{// pendeklarasian class utama turunan dari class JFrame
JButton btnTutup = new JButton("TUTUP");// Event untuk menutup window
public FFrame(){// mendeklarasikan class
super ("FRAME");// membuat class super
setSize(200,100); // menentukan ukuran pada JFrame
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); // membuat operasi exit pada JFrame
setLayout(null); // menentuka tampilan Layout
add(btnTutup); // menambahkan tombol Tutup
btnTutup.addActionListener(this);
btnTutup.setBounds(40,20,100,20); // menentukan letak tombol pada JFrame
setVisible(true); // mengaktifkan atau membuat visible suatu JFrame

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

Ketika dijalankan maka hasilnya akan seperti gambar berikut :





Contoh skrip lain untuk membuat menu yang sederhana:
4.     Program MainMenu1.java
import java.awt.event.*; // pemanggilan package java.awt.event.swing
import javax.swing.*; // pemanggilan package javax.swing
import java.awt.*; // pemanggilan package java.awt.swing

class CobaMenu extends JFrame {
  JMenuBar menuBar;
  JMenu file, doc, edit, help;
  JMenuItem open, save, exit, delete, copy, paste, about;

  public CobaMenu() { // pendeklarasian class
  setTitle("Menu");// menentukan judul MenuBar
  setSize(200,200); // menentukan ukuran pada JFrame
// membuat menu bar
  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('D');
  copy = new JMenuItem("Copy");
  copy.setMnemonic('C');
  paste = new JMenuItem("Paste");
  paste.setMnemonic('P');
  about = new JMenuItem("About");
  about.setMnemonic('A');
// pembuatan JMenubar pada program
menuBar = new JMenuBar();
setJMenuBar(menuBar); // menset atau mengaktifkan JMenubar pada JFrame
menuBar.add(file); // menambahakan menu pada menu bar
file.add("open"); // menambahakan sub menu pada menu
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); //membuat perintah keluar dari program untuk sub menu exit
    }
    });

    setDefaultCloseOperation(EXIT_ON_CLOSE); // membuat operasi exit pada JFrame
    setVisible(true); // mengaktifkan atau membuat visible suatu JFrame
    }
    }

    public class MainMenu1 {// pemanggilan class
     public static void main(String []neno) {
     CobaMenu m = new CobaMenu();
     }
     }
Ketika dijalankan maka hasilnya akan seperti gambar berikut :






Tidak ada komentar:

Posting Komentar