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.

Contoh Script JList pada JAVA


ContohJList.java
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
class cthList extends JFrame {
                JList daftar;
                JTextArea tArea1, tArea2;
                JPanel panel1, panel2, panel3, panel4;
                JSpinner spin;
                String daftarBunga[]= {"Melati", "Mawar", "Krisan", "Kenanga", "Cempaka", "Tulip", "Kamboja", "Jepang"};
                public cthList() {
                                super ("Tes JList");
                                setSize (350,300);
                                spin = new JSpinner();
                                spin.setValue (new Integer(10));
                                panel1 = new JPanel();
                                panel2 = new JPanel();
                                panel3 = new JPanel();
                                panel4 = new JPanel();
                                daftar = new JList (daftarBunga);
                                daftar.setSelectedIndex(0);
                                tArea1 = new JTextArea ("",3,15);
                                tArea1.setEditable (false);
                                tArea2 = new JTextArea ("",3,15);
                                tArea2.setEditable (false);
                                setLayout (new BorderLayout());
                                add (panel1, "North");
                                add (panel2, "West");
                                add (panel3, "East");
                                add (panel4, "South");
                                panel1.add (daftar);
                                panel2.add (tArea1);
                                panel3.add (tArea2);
                                panel4.add (spin);
                                setDefaultCloseOperation (3);
                                setVisible (true);
                                daftar.addListSelectionListener (new ListSelectionListener ()
                                {
                                public void valueChanged (ListSelectionEvent e) {
                                                tArea1.setText ("Yang terpilih : \n"+ daftar.getSelectedValue ());
                                                }
                                                }
                                                );
                                                spin.addChangeListener (new ChangeListener () {
                                                public void stateChanged (ChangeEvent e) {
                                                                tArea2.setText ("Nilai : \n" +spin.getValue());
                                                                }
                                                                }
                                                                );
                                                }
                                                }
public class ContohJList {
public static void main (String [] args) {
                cthList apl = new cthList ();
                }
}

Contoh Script Database.java




CobaDatabase.java
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class CobaDatabase {
                public static void main (String [] args) {
                DBMahasiswa mahasiswa = new DBMahasiswa ();
                }
}
class DBMahasiswa extends JFrame implements ActionListener {
                final JLabel lNim,lNama,lAlamat;
                final JTextField nim,nama,alamat;
                final JButton btnSave,btnHapus;
                final JPanel panel1,panel2;
                public DBMahasiswa () {
                                setTitle ("Coba Database");
                                lNim = new JLabel ("NIM : ");
                                lNama = new JLabel ("NAMA : ");
                                lAlamat = new JLabel ("ALAMAT : ");
                                nim= new JTextField (20);
                                nama= new JTextField (20);
                                alamat= new JTextField (20);
                                btnSave = new JButton ("SIMPAN");
                                btnSave.addActionListener (this);
                                btnHapus = new JButton ("HAPUS");
                                btnHapus.addActionListener (this);
                                panel1 = new JPanel (new GridLayout (3,1));
                                panel2 = new JPanel (new GridLayout (3,1));
                                setLayout (new BorderLayout());
                                add (panel1, "West");
                                panel1.add(lNim);
                                panel1.add(lNama);
                                panel1.add(lAlamat);
                                add (panel2, "East");
                                panel2.add(nim);
                                panel2.add(nama);
                                panel2.add(alamat);
                                add (btnSave, "South");
                                add (btnHapus, "North");
                                pack ();
                                setDefaultCloseOperation (3);
                                setVisible (true);
                }
public void actionPerformed (ActionEvent ae) {
                if (ae.getSource()==btnSave) {
                String sql = "insert into mahasiswa values('"+nim.getText()+"', '"+nama.getText()+"', '"+alamat.getText()+"')";
                                try {
                                                //untuk database SQL
                                                /*Class.forName ("org.gjt.mm.mysql.Driver");
                                                Connection con = DriverManager.getConnection ("jdbc:mysql://localhost/praktikum", "root", "");*/
                                                //untuk database ACCESS
                                                 Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
                                                Connection con = DriverManager.getConnection ("jdbc:odbc:coba", "", "");
                                                Statement stmt = con.createStatement();
                                                stmt.executeUpdate (sql);
                                                stmt.close();
                                                con.close();
                                                JOptionPane.showMessageDialog (this, "Data berhasil disimpan", "Hasil",JOptionPane.INFORMATION_MESSAGE);
                                }
                                catch (Exception e){
                                JOptionPane.showMessageDialog (this, e.getMessage (), "Hasil", JOptionPane.ERROR_MESSAGE);
                                }
                }
                if (ae.getSource ()==btnHapus) {
                                int pesan = JOptionPane.showConfirmDialog (null, "Anda yakin ingin menghapus pegawai\n"+
                                "dengan NIM ='"+ nim.getText ()+"'", "Konfirmasi Hapus Data", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
                                if (pesan == JOptionPane.OK_OPTION) {
                                String sql = " DELETE from mahasiswa where nim='"+nim.getText()+"'";
                                                try {
                                                                // Untuk Database SQL
                                                                /*Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
                                                                Connection con = DriverManager.getConnection ("jdbc:odbc:java", "", "");*/
                                                //untuk database ACCESS
                                                Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
                                                Connection con = DriverManager.getConnection ("jdbc:odbc:coba", "", "");
                                                Statement stmt = con.createStatement();
                                                stmt.executeUpdate (sql);
                                                stmt.close();
                                                con.close();
                                                JOptionPane.showMessageDialog (this, "Data berhasil dihapus", "Hasil",JOptionPane.INFORMATION_MESSAGE);
                                }
                                catch (Exception e){
                                JOptionPane.showMessageDialog (this, e.getMessage (), "Hasil", JOptionPane.ERROR_MESSAGE);
                                }
                }
}
System.exit (0);
}
}


lihatDatabase.java
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class LihatDatabase {
                public static void main (String [] args) {
                LihatData data = new LihatData ();
                }
}
class LihatData extends JFrame {
                public  LihatData () {
                setTitle ("Lihat Database");
                String tdata[][] = new String [0][0];
                try {
                                //Untuk Database menggunakan SQL
                                /*Class.forName ("org.gjt.mm.mysql.Driver");
                                Connection conn = DriverManager.getConnection ("jdbc:mysql://localhost/praktikum", "root", "");*/
                                //Untuk Database menggunakan ACCESS
                                Class .forName ("sun.jdbc.odbc.JdbcOdbcDriver");
                                Connection conn = DriverManager.getConnection ("jdbc:odbc:coba", "", "");
                                Statement stmt = conn.createStatement ();
                                //Sintaks sql yang dibawa
                                String sql = "select * from mahasiswa";
                                // Hasilnya ditampung disini
                                ResultSet rs = stmt.executeQuery (sql);
                                tdata = new String [500] [3];
                                int p=0;
                                // Jika data berikutnyua ada, maka...
                                while (rs.next ()) {
                                                //kita dapatkan data dari kolom 1
                                                tdata [p][0] = rs.getString (1);
                                                tdata [p][1] = rs.getString (2);
                                                tdata [p][2] = rs.getString (3);
                                                p++;
                                }
                                // stmt dibebaskan dari memori
                                stmt.close();
                                // koneksi ditutup
                                conn.close();
}
catch (Exception exc) {
JOptionPane.showMessageDialog (this, "ERROR", "Hasil", JOptionPane.ERROR_MESSAGE);
}
String [] nkolom = {"Nim", "Nama", "Alamat"};
JTable tabel = new JTable (tdata,nkolom);
JScrollPane gridtabel = new JScrollPane (tabel);
tabel.setPreferredScrollableViewportSize (new Dimension (400,300));
setLayout (new FlowLayout ());
add (gridtabel);
pack();
setDefaultCloseOperation(3);
setVisible (true);
}
}