Halaman

Kamis, 17 Februari 2011

Membuat Menu dalam Java

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.
Berikut saya akan tunjukkan pembuatan menu secara sederhana, dengan memanfaatkan constructor JMenuBar, JMenu, serta JMenuItem. 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:

public class MenuInteraktif extends JFrame{
    public MenuInteraktif() {
        JMenuBar menuBar;
        JMenu menu;
        JMenuItem item;

        // Event untuk menutup window
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        // Memasukkan komponen ke window
        Container contentPane = getContentPane();
        //Membuat menu bar
        menuBar = new JMenuBar();
        setJMenuBar(menuBar);

        //Membuat menu pertama
        menu = new JMenu("File");
        menuBar.add(menu);

        //Isi menu
        item = new JMenuItem("New");
        menu.add(item);
        item = new JMenuItem("Open");
        menu.add(item);
        item = new JMenuItem("Save");
        menu.add(item);
        menu.addSeparator();
        item = new JMenuItem("Exit");
        item.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        menu.add(item);        
    }

    public static void main (String [] args){
        MenuInteraktif mi = new MenuInteraktif();
        mi.setTitle("Menu sederhana");
        mi.setSize(300,250);
        Dimension d = new Dimension();
        d = Toolkit.getDefaultToolkit().getScreenSize();
        int x = (d.width - mi.getWidth())/2;
        int y = (d.height - mi.getHeight())/2;
        mi.setLocation(x, y);
        mi.setVisible(true);
    }
}

Ketika dijalankan maka hasilnya akan seperti gambar berikut :





Tentu dengan tampilan seperti itu saja, anda akan merasa kurang puas. Dalam hal ini jika anda ingin menghasilkan tampilan menu yang lebih baik setidaknya anda harus menggunkan metode lain dari Swing.
Pemograman java dengan menggunakan fasilitas Swing memungkinkan anda untuk dapat membuat menu yang lebih interaktif, yakni menu yang isinya beragam. Mulai dari penggunaan text, checkbox, ikon, radio button, bahkan sampai memasukkan shortcut dalam menu ini.
Jika anda ingin menggunakakn ikon ada teks menu, berikan metode ImageIcon() pada MenuItem yang anda inginkan. Berikut source codenya:

item = new JMenuItem("Exit", new ImageIcon(getClass().getResource("Close.png")));


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 :


item = new JMenuItem("New",KeyEvent.VK_N);               
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,ActionEvent.CTRL_MASK));
item = new JMenuItem("Open",new ImageIcon(getClass().getResource("open.png")));
item.setMnemonic(KeyEvent.VK_O);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,ActionEvent.SHIFT_MASK));


Berikut hasil jika source code dijalankan :




Source code lengkapnya sudah saya sertakan pada link download dibawah ini.

Download pdf & source