Navigasi buku
Kesamaan dan Perbandingan
Diskusi kita tentang metode pada interface Collection sebelumnya mengasumsikan bahwa dua objek dianggap "sama". Misalnya metode kol.contains(objek) dan kol.remove(objek) mencari item dalam koleksi yang sama dengan objek. Akan tetapi, kesamaan bukan sesuatu yang mudah.
Teknik yang paling umum untuk menguji kesamaan (yaitu menggunakan operator ==) sering kali tidak bisa digunakan untuk objek. Operator == yang digunakan pada objek hanya membandingkan apakah objek tersebut memiliki alamat memori yang sama. Biasanya, kita ingin supaya kesamaan berarti isi objeknya sama (bukan alamat memorinya).
Dua nilai String dianggap sama jika keduanya memiliki urutan karakter yang sama. Persoalan di mana karakter tersebut disimpan di dalam memori tentunya tidak relevan. Dua nilai bertipe Date dianggap sama jika isinya adalah waktu yang sama.
Kelas Object memiliki metode bernilai boolean yaitu equals(Object) untuk menguji apakah satu objek berisi sama dengan objek lain.
Di dalam koleksi, dua objek obj1 dan obj2 dianggap sama jika keduanya bernilai null atau jika keduanya bernilai tidak nul dan obj1.equals(obj2) bernilai true.
Dalam kelas Object, obj1.equals(obj2) didefinisikan sebagai obj1 == obj2. Akan tetapi pada hampir semua kelas turunan Object, definisi ini tidak masuk akal, dan biasanya dibebanlebihkan (overload).
Kelas String misalnya, membebanlebihkan equals() sehingga untuk str.equals(obj) bernilai sama jika urutan karakter obj sama dengan urutan karakter str.
Jika kita menulis kelas sendiri, kita mungkin ingin mendefinisikan metode equals() sendiri pada kelas tersebut, sehingga metode kesamaan bisa berjalan sesuai dengan yang kita inginkan. Misalnya kelas Kartu akan bekerja dengan benar jika digunakan dalam koleksi bisa dibuat seperti :
public class Kartu { // Kelas untuk kartu mainan int lambang; // Nomor 0 hingga 3 untuk lambangnya : // wajik, diamon, keriting atau hati. int angka; // Angka 1 hingga 13 public boolean equals(Object obj) { if (obj == null || ! (obj instanceof Kartu) ) { // obj tidak sama dengan Kartu ini jika obj // tidak bertipe Kartu, atau isinya null return false; } else { Kartu lain = (Kartu)obj; // Type-cast obj ke Kartu if (lambang == lain.lambang && angka == lain.angka) { // Kartu lain berlambang dan berangka sama dengan // kartu ini, artinya kedua kartu sama return true; } else return false; } } ... // metode dan konstruktor lain }
Tanpa metode equals() dalam kelas ini, metode contains() dan remove() dalam interface Collection tidak akan bekerja dengan baik untuk kelas Kartu.
Masalah yang sama akan muncul ketika item dalam koleksi akan diurutkan. Pengurutan artinya mengatur urutan item dalam aturan tertentu. Masalahnya, tidak ada aturan "menaik" dalam objek. Sebelum objek bisa diurutkan, metode tertentu harus dibuat untuk membandingkan objek. Objek yang akan dibandingkan harus mengimplementasikan interface java.lang.Comparable. Interface ini mendefinisikan satu metode, yaitu :
public int compareTo(Object obj)
Nilai yang dikembalikan obj1.compareTo(obj2) bernilai nol jika kedua objek berisi sama (atau jika obj1.equals(obj2) bernilai benar). Keluarannya bernilai negatif jika obj1 lebih kecil dari obj2, atau jika diurutkan dalam urutan menaik obj1 akan muncul sebelum obj2. Keluarannya bernilai positif jika obj1 lebih besar dari obj2 atau jika diurutkan dalam urutan menaik obj1 muncul setelah obj2.
Kelas String mengimplementasikan interface Comparable dan memiliki metode compareTo dengan cara seperti di atas. Jika kita ingin membuat kelas sendiri dan ingin mengurut objek pada kelas itu, kita juga harus mengimplementasikan objek itu dengan cara yang sama. Misalnya :
class NamaLengkap implements Comparable { // Melambangkan nama lengkap yang terdiri dari // nama depan dan nama belakang String namaDepan, namaBelakang; public boolean equals(Object obj) { if (obj == null || ! (obj instanceof NamaLengkap)) { return false; } else { NamaLengkap lain = (NamaLengkap)obj; return namaDepan.equals(lain.namaDepan) && namaBelakang.equals(lain.namaBelakang); } } public void compareTo(Object obj) { NamaLengkap lain = (NamaLengkap)obj; // Menyebabkan error jika obj tidak bertipe NamaLengkap if ( namaBelakang.compareTo(lain.namaBelakang) < 0 ) { // Jika namaBelakang lebih kecil dari namaBelakang objek lain // maka NamaLengkap ini muncul sebelum yang lain // Kembalikan nilai negatif return -1; } if ( namaBelakang.compareTo(lain.namaBelakang) > 0 ) { // Jika namaBelakang lebih besar dari namaBelakang objek lain // maka NamaLengkap ini muncul setelah yang lain // Kembalikan nilai positif return 1; } else { // Nama belakangnya sama, sekarang bandingkan // nama depannya return namaDepan.compareTo(lain.namaDepan); } } ... // metode dan konstruktor lain }
Ada cara lain untuk membandingkan objek pada Java, yaitu dengan membuat objek lain untuk melakukan perbandingan. Objek tersebut harus mengimplementasikan java.util.Comparator yang memiliki metode :
public int compare(Object obj1, Object obj2)
Metode ini membandingkan dua objek dan mengembalikan nilai negatif, nol, atau positif, tergantung apakah obj1 muncul lebih dulu, sama, atau setelah obj2. Komparator ini berfungsi untuk membandingkan objek yang tidak memiliki interface Comparable atau untuk melakukan metode pembanding yang berbeda untuk objek yang bertipe sama.
Kita akan lihat bagaimana Comparable dan Comparator digunakan dalam koleksi dan map.



Komentar
error di perbandingan or
ka saya mo tanya sayakan lagi buat program penghitungan yah..
trus saya ketikkin coding
if (txtjumlah.getText()!=""||txtjumlah.getText()!="0"){
masa dia warning katanya disuruh pake string == or !=
emang operator perbandingan yang saya pake itu salah ya ka...
tolong bimbingannya
Kalau string gunakan metode
Kalau string gunakan metode equals untuk membandingkan.
Jadi kode di atas seharusnya
if (txtjumlah.getText().equals("") || txtjumlah.getText().equals("0")){...}Tanya Eror
Dear All just share aja , gw udh install java , trus udh gitu gw baru belajar java yg sangat sederhana bgt
ini code nya :
public class Test {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
kira2 ada yg salah ga yah coding nya , coz gw udh bolak balik salah , trus ada keterangan eror nya syntak eror di
System.out.println
Gimana yah cara nya bisa ngebetulin , padahal ini coding sederhana bgt
Tx yah buat perhatian nya ^_^
kayanya ga da yang salah deh
kayanya ga da yang salah deh ma codingnya
bahkan 100% Sip ...
mungkin coding ini yang banyak Errornya :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.Timer;
import java.util.*;
import java.text.*;
public class menu extends JFrame implements ActionListener{
private JDesktopPane desktop=new JDesktopPane(); //@deklarasi JDesktop
private JMenuBar mBar=new JMenuBar(); //@deklarasi MenuBar
private JLabel lbJam=new JLabel(); //@deklarasi Label untuk Jam pada JMenuBar
private JMenu mMaster=new JMenu("File_Master"), //@deklarasi JMenu
mPemesanan=new JMenu("Pemesanan_Barang"),
mPenerimaan=new JMenu("Penerimaan_Barang"),
mRetur=new JMenu("Retur_Pembelian"),
mLaporan=new JMenu("Laporan"),
mHelp=new JMenu("Help_?");
private JMenuItem miBarang=new JMenuItem("Entry_Master_Barang"), //@deklarasi JMenuItem
miSuplier=new JMenuItem("Entry_Master_Suplier"),
miPrice=new JMenuItem("Entry_Price_List"),
miEPO=new JMenuItem("Entry_Purchase_Order"),
miCPO=new JMenuItem("Cetak_Purchase_Order"),
miETP=new JMenuItem("Entry_Tanda_Penerimaan"),
miCTP=new JMenuItem("Cetak_Tanda_Penerimaan"),
miERP=new JMenuItem("Entry_Retur_Pembelian"),
miCRP=new JMenuItem("Cetak_Retur_Pembelian"),
miDS=new JMenuItem("Daftar_Suplier"),
miDPH=new JMenuItem("Daftar_Perbandingan_Harga"),
miLPO=new JMenuItem("Laporan_Purchase_Order_(PO)"),
miLPnB=new JMenuItem("Laporan_Penerimaan_Barang"),
miLRP=new JMenuItem("Laporan_Retur_Pembelian"),
miLPmB=new JMenuItem("Laporan_Pembelian_Barang"),
miLAP=new JMenuItem("Laporan_Analisa_Pembelian"),
miAbout=new JMenuItem("About"),
miExit=new JMenuItem("Exit_Aplikasi");
/** @jika ingin menambahkan ImageIcon pada JMenuItem=new JMenuItem("Data Obat",new ImageIcon("path/image"));
*
* @mengambil tanggal aktif dari komputer & mengatur format tanggal
*/
private Date tgl=new Date();
private SimpleDateFormat sdf=new SimpleDateFormat("dd MMM yyyy",Locale.getDefault());
private String tanggal=sdf.format(tgl); //@untuk format tanggal
//@deklarasi komponen panel & objek label untuk statusbar
private JPanel stBar=new JPanel();
private JLabel lb1=new JLabel(" "+"By.RadenMas RamaHandi",JLabel.LEFT),lb2=new JLabel(" "+tanggal+" ",JLabel.RIGHT);
/**
* method menu() menggunakan constructor
* String data ....
*/
public menu(String data){
super("Menu @Example");
setSize(1020,650);
setLocation((Toolkit.getDefaultToolkit().getScreenSize().width-getWidth())/2,(Toolkit.getDefaultToolkit().getScreenSize().height-getHeight())/2);
//@memberikan listener & mengeksekusi fungsi keluar saat toombol di klck
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
exit();
}
});
//@mengatur tbl Alt pada menu fulldown
mMaster.setMnemonic('F');
mPemesanan.setMnemonic('P');
mPenerimaan.setMnemonic('P');
mRetur.setMnemonic('R');
mLaporan.setMnemonic('L');
mHelp.setMnemonic('H');
//@mengatur penggunaan shortcut pada menu fulldown
miBarang.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,Event.CTRL_MASK));
miSuplier.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,Event.CTRL_MASK));
miPrice.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,Event.CTRL_MASK));
miAbout.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,Event.CTRL_MASK));
miExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,Event.CTRL_MASK));
//@mengatur menu fulldown agar dapat di click
miBarang.addActionListener(this);
miSuplier.addActionListener(this);
miPrice.addActionListener(this);
miEPO.addActionListener(this);
miCPO.addActionListener(this);
miETP.addActionListener(this);
miCTP.addActionListener(this);
miERP.addActionListener(this);
miCRP.addActionListener(this);
miDS.addActionListener(this);
miDPH.addActionListener(this);
miLPO.addActionListener(this);
miLPnB.addActionListener(this);
miLRP.addActionListener(this);
miLPmB.addActionListener(this);
miLAP.addActionListener(this);
miAbout.addActionListener(this);
miExit.addActionListener(this);
//@menambahkan sub menu ke masing2 menu baris
mMaster.add(miBarang);
mMaster.add(miSuplier);
mMaster.add(miPrice);
mMaster.addSeparator();
mMaster.add(miExit);
mPemesanan.add(miEPO);
mPemesanan.add(miCPO);
mPenerimaan.add(miETP);
mPenerimaan.add(miCTP);
mRetur.add(miERP);
mRetur.add(miCRP);
mLaporan.add(miDS);
mLaporan.add(miDPH);
mLaporan.add(miLPO);
mLaporan.add(miLPnB);
mLaporan.add(miLRP);
mLaporan.add(miLPmB);
mLaporan.add(miLAP);
mHelp.add(miAbout);
//@mengatur object barmenu
setJMenuBar(mBar);
//@menambahkan object menu baris ke menubar
mBar.add(mMaster);
mBar.add(mPemesanan);
mBar.add(mPenerimaan);
mBar.add(mRetur);
mBar.add(mLaporan);
mBar.add(mHelp);
lbJam.setForeground(Color.pink);
mBar.add(lbJam);
//@mengatur objek baris status
stBar.setLayout(new BorderLayout());
stBar.setBackground(Color.darkGray);
stBar.setFont(new Font("Arial",Font.BOLD,9));
//@menambahkan objek label ke dalam baris status
lb1.setForeground(Color.red);
stBar.add(lb1, BorderLayout.WEST);
lb2.setForeground(Color.yellow);
stBar.add(lb2, BorderLayout.EAST);
//@mengatur warna latar objek desktop
desktop.setBackground(Color.black);
//@menambahkan isi kontainer dengan objek toolbar, desktop dan statusbar dengan layout border
getContentPane().add(desktop, BorderLayout.CENTER);
getContentPane().add(stBar, BorderLayout.SOUTH);
if(data.equals("a")){
miBarang.setEnabled(true);
}
else
if(data.equals("b")){
miExit.setEnabled(false);
miBarang.setEnabled(false);
miSuplier.setEnabled(false);
miPrice.setEnabled(false);
miEPO.setEnabled(false);
miCPO.setEnabled(false);
miETP.setEnabled(false);
miCTP.setEnabled(false);
miERP.setEnabled(false);
miCRP.setEnabled(false);
miAbout.setEnabled(false);
}
//@set jam agar dapat tampil pada form menu
setJam();
//@menampilkan menu utama kelayar monitor.
show();
}
/**
* method @meriksa objeck(menupopup atau menupop) yang
* sebelumnya mendapat Listener"addActionListener" ............
*/
public void actionPerformed(ActionEvent ae){
Object obj = ae.getSource();
if(obj==miBarang){
barang barang=new barang();
desktop.add(barang);
barang.show();
}
if(obj==miSuplier){
suplier suplier=new suplier();
desktop.add(suplier);
suplier.show();
}
if(obj==miPrice){
price price=new price();
desktop.add(price);
price.show();
}
if(obj==miEPO){
purchase purchase=new purchase();
desktop.add(purchase);
purchase.show();
}
if(obj==miCPO){
CPO cpo=new CPO();
desktop.add(cpo);
cpo.show();
}
if(obj==miETP){
penerimaan penerimaan=new penerimaan();
desktop.add(penerimaan);
penerimaan.show();
}
if(obj==miCTP){
CTP ctp=new CTP();
desktop.add(ctp);
ctp.show();
}
if(obj==miERP){
retur retur=new retur();
desktop.add(retur);
retur.show();
}
if(obj==miCRP){
CRP crp=new CRP();
desktop.add(crp);
crp.show();
}
if(obj==miDS){
dafsup dafsup=new dafsup();
desktop.add(dafsup);
dafsup.show();
}
if(obj==miDPH){
dafperha dafperha=new dafperha();
desktop.add(dafperha);
dafperha.show();
}
if(obj==miLPO){
lapuro lapuro=new lapuro();
desktop.add(lapuro);
lapuro.show();
}
if(obj==miLPnB){
lapenba lapenba=new lapenba();
desktop.add(lapenba);
lapenba.show();
}
if(obj==miLRP){
larepem larepem=new larepem();
desktop.add(larepem);
larepem.show();
}
if(obj==miLPmB){
lapemba lapemba=new lapemba();
desktop.add(lapemba);
lapemba.show();
}
if(obj==miLAP){
lapanpem lapanpem=new lapanpem();
desktop.add(lapanpem);
lapanpem.show();
}
if(obj == miAbout){
about miAbout=new about();
desktop.add(miAbout);
miAbout.show();
}
if(obj==miExit){
exit();
}
}
/**
* method @keluar dari System
*/
private void exit(){
try{
int rep=JOptionPane.showConfirmDialog(this,"By.RadenMas RamaHandi\nMoo Keluar dari Aplikasi ini Y/N ?","kadalistn", JOptionPane.YES_NO_OPTION, JOptionPane.PLAIN_MESSAGE);
if(rep==JOptionPane.YES_OPTION){
setVisible(false); //@Menyembunyikan Frame.
dispose(); //@Membersihkan Resource dari system memori
System.out.println("\n\nThanks For All ... \n\nBy kadalistn@yahoo.com\n jl.caringin1no.44@gmail.com\n mas.handi@yahoo.co.id\n\n\n Bey bey ...\n\n");
System.exit(0);
}
else{
}
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); //Membebaskan aplikasi dari memori
}
catch(Exception e){
}
}
/**
* method atau fungsi @mengatur waktu dari System ...
*/
public void setJam(){
ActionListener taskPerformer = new ActionListener(){
public void actionPerformed(ActionEvent evt){
String nol_jam = "", nol_menit = "", nol_detik = "";
Date dateTime = new Date();
int nilai_jam = dateTime.getHours();
int nilai_menit = dateTime.getMinutes();
int nilai_detik = dateTime.getSeconds();
if(nilai_jam <= 9) nol_jam = "0";
if(nilai_menit <= 9) nol_menit = "0";
if(nilai_detik <= 9) nol_detik = "0";
String jam = nol_jam + Integer.toString(nilai_jam);
String menit = nol_menit + Integer.toString(nilai_menit);
String detik = nol_detik + Integer.toString(nilai_detik);
lbJam.setText(" "+" ---@Time:( "+jam + ":" + menit + ":" + detik + " ):emiT@---");
}
};
new Timer(1000, taskPerformer).start();
}
}
penambahan
maaf cuma mau nambahin....kalo koding dari buku...sebaiknya harus teliti pelajari algoritma (alur logika) kode program tersebut, yang penting deklarasi variable nya harus jelas dan kemana arahnya, kemudian konsep pemanggilan class harus sesuai prosedur dengan pemograman java. kalo terdapat error sebaiknya pelajari dulu dasar-dasar pemograman java yang berhubungan dengan koding yang error tersebut...makacih..salam kenal (i am newbie). maaf kalo pendapat saya salah...
...
kaya nye sich codingnye ga da yang salah tuh
bahkan 100% ga da Error ; mungki klo coding ini bayak yang Error :
/*
* @RadenMas
* source code untuk form Menu
* dengan menggunakan JDesktopPane, JMenuBar, JMenu, JMenuItem & JPanel
*
* contact :
* kadalistn@yahoo.com
* jl.caringin1no.44@gmail.com
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.Timer;
import java.util.*;
import java.text.*;
public class menu extends JFrame implements ActionListener{
private JDesktopPane desktop=new JDesktopPane(); //@deklarasi JDesktop
private JMenuBar mBar=new JMenuBar(); //@deklarasi MenuBar
private JLabel lbJam=new JLabel(); //@deklarasi Label untuk Jam pada JMenuBar
private JMenu mMaster=new JMenu("File_Master"), //@deklarasi JMenu
mPemesanan=new JMenu("Pemesanan_Barang"),
mPenerimaan=new JMenu("Penerimaan_Barang"),
mRetur=new JMenu("Retur_Pembelian"),
mLaporan=new JMenu("Laporan"),
mHelp=new JMenu("Help_?");
private JMenuItem miBarang=new JMenuItem("Entry_Master_Barang"), //@deklarasi JMenuItem
miSuplier=new JMenuItem("Entry_Master_Suplier"),
miPrice=new JMenuItem("Entry_Price_List"),
miEPO=new JMenuItem("Entry_Purchase_Order"),
miCPO=new JMenuItem("Cetak_Purchase_Order"),
miETP=new JMenuItem("Entry_Tanda_Penerimaan"),
miCTP=new JMenuItem("Cetak_Tanda_Penerimaan"),
miERP=new JMenuItem("Entry_Retur_Pembelian"),
miCRP=new JMenuItem("Cetak_Retur_Pembelian"),
miDS=new JMenuItem("Daftar_Suplier"),
miDPH=new JMenuItem("Daftar_Perbandingan_Harga"),
miLPO=new JMenuItem("Laporan_Purchase_Order_(PO)"),
miLPnB=new JMenuItem("Laporan_Penerimaan_Barang"),
miLRP=new JMenuItem("Laporan_Retur_Pembelian"),
miLPmB=new JMenuItem("Laporan_Pembelian_Barang"),
miLAP=new JMenuItem("Laporan_Analisa_Pembelian"),
miAbout=new JMenuItem("About"),
miExit=new JMenuItem("Exit_Aplikasi");
/** @jika ingin menambahkan ImageIcon pada JMenuItem=new JMenuItem("Data Obat",new ImageIcon("path/image"));
*
* @mengambil tanggal aktif dari komputer & mengatur format tanggal
*/
private Date tgl=new Date();
private SimpleDateFormat sdf=new SimpleDateFormat("dd MMM yyyy",Locale.getDefault());
private String tanggal=sdf.format(tgl); //@untuk format tanggal
//@deklarasi komponen panel & objek label untuk statusbar
private JPanel stBar=new JPanel();
private JLabel lb1=new JLabel(" "+"By.RadenMas RamaHandi",JLabel.LEFT),lb2=new JLabel(" "+tanggal+" ",JLabel.RIGHT);
/**
* method menu() menggunakan constructor
* String data ....
*/
public menu(String data){
super("Menu @Example");
setSize(1020,650);
setLocation((Toolkit.getDefaultToolkit().getScreenSize().width-getWidth())/2,(Toolkit.getDefaultToolkit().getScreenSize().height-getHeight())/2);
//@memberikan listener & mengeksekusi fungsi keluar saat toombol di klck
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
exit();
}
});
//@mengatur tbl Alt pada menu fulldown
mMaster.setMnemonic('F');
mPemesanan.setMnemonic('P');
mPenerimaan.setMnemonic('P');
mRetur.setMnemonic('R');
mLaporan.setMnemonic('L');
mHelp.setMnemonic('H');
//@mengatur penggunaan shortcut pada menu fulldown
miBarang.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,Event.CTRL_MASK));
miSuplier.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,Event.CTRL_MASK));
miPrice.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,Event.CTRL_MASK));
miAbout.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,Event.CTRL_MASK));
miExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,Event.CTRL_MASK));
//@mengatur menu fulldown agar dapat di click
miBarang.addActionListener(this);
miSuplier.addActionListener(this);
miPrice.addActionListener(this);
miEPO.addActionListener(this);
miCPO.addActionListener(this);
miETP.addActionListener(this);
miCTP.addActionListener(this);
miERP.addActionListener(this);
miCRP.addActionListener(this);
miDS.addActionListener(this);
miDPH.addActionListener(this);
miLPO.addActionListener(this);
miLPnB.addActionListener(this);
miLRP.addActionListener(this);
miLPmB.addActionListener(this);
miLAP.addActionListener(this);
miAbout.addActionListener(this);
miExit.addActionListener(this);
//@menambahkan sub menu ke masing2 menu baris
mMaster.add(miBarang);
mMaster.add(miSuplier);
mMaster.add(miPrice);
mMaster.addSeparator();
mMaster.add(miExit);
mPemesanan.add(miEPO);
mPemesanan.add(miCPO);
mPenerimaan.add(miETP);
mPenerimaan.add(miCTP);
mRetur.add(miERP);
mRetur.add(miCRP);
mLaporan.add(miDS);
mLaporan.add(miDPH);
mLaporan.add(miLPO);
mLaporan.add(miLPnB);
mLaporan.add(miLRP);
mLaporan.add(miLPmB);
mLaporan.add(miLAP);
mHelp.add(miAbout);
//@mengatur object barmenu
setJMenuBar(mBar);
//@menambahkan object menu baris ke menubar
mBar.add(mMaster);
mBar.add(mPemesanan);
mBar.add(mPenerimaan);
mBar.add(mRetur);
mBar.add(mLaporan);
mBar.add(mHelp);
lbJam.setForeground(Color.pink);
mBar.add(lbJam);
//@mengatur objek baris status
stBar.setLayout(new BorderLayout());
stBar.setBackground(Color.darkGray);
stBar.setFont(new Font("Arial",Font.BOLD,9));
//@menambahkan objek label ke dalam baris status
lb1.setForeground(Color.red);
stBar.add(lb1, BorderLayout.WEST);
lb2.setForeground(Color.yellow);
stBar.add(lb2, BorderLayout.EAST);
//@mengatur warna latar objek desktop
desktop.setBackground(Color.black);
//@menambahkan isi kontainer dengan objek toolbar, desktop dan statusbar dengan layout border
getContentPane().add(desktop, BorderLayout.CENTER);
getContentPane().add(stBar, BorderLayout.SOUTH);
if(data.equals("a")){
miBarang.setEnabled(true);
}
else
if(data.equals("b")){
miExit.setEnabled(false);
miBarang.setEnabled(false);
miSuplier.setEnabled(false);
miPrice.setEnabled(false);
miEPO.setEnabled(false);
miCPO.setEnabled(false);
miETP.setEnabled(false);
miCTP.setEnabled(false);
miERP.setEnabled(false);
miCRP.setEnabled(false);
miAbout.setEnabled(false);
}
//@set jam agar dapat tampil pada form menu
setJam();
//@menampilkan menu utama kelayar monitor.
show();
}
/**
* method @meriksa objeck(menupopup atau menupop) yang
* sebelumnya mendapat Listener"addActionListener" ............
*/
public void actionPerformed(ActionEvent ae){
Object obj = ae.getSource();
if(obj==miBarang){
barang barang=new barang();
desktop.add(barang);
barang.show();
}
if(obj==miSuplier){
suplier suplier=new suplier();
desktop.add(suplier);
suplier.show();
}
if(obj==miPrice){
price price=new price();
desktop.add(price);
price.show();
}
if(obj==miEPO){
purchase purchase=new purchase();
desktop.add(purchase);
purchase.show();
}
if(obj==miCPO){
CPO cpo=new CPO();
desktop.add(cpo);
cpo.show();
}
if(obj==miETP){
penerimaan penerimaan=new penerimaan();
desktop.add(penerimaan);
penerimaan.show();
}
if(obj==miCTP){
CTP ctp=new CTP();
desktop.add(ctp);
ctp.show();
}
if(obj==miERP){
retur retur=new retur();
desktop.add(retur);
retur.show();
}
if(obj==miCRP){
CRP crp=new CRP();
desktop.add(crp);
crp.show();
}
if(obj==miDS){
dafsup dafsup=new dafsup();
desktop.add(dafsup);
dafsup.show();
}
if(obj==miDPH){
dafperha dafperha=new dafperha();
desktop.add(dafperha);
dafperha.show();
}
if(obj==miLPO){
lapuro lapuro=new lapuro();
desktop.add(lapuro);
lapuro.show();
}
if(obj==miLPnB){
lapenba lapenba=new lapenba();
desktop.add(lapenba);
lapenba.show();
}
if(obj==miLRP){
larepem larepem=new larepem();
desktop.add(larepem);
larepem.show();
}
if(obj==miLPmB){
lapemba lapemba=new lapemba();
desktop.add(lapemba);
lapemba.show();
}
if(obj==miLAP){
lapanpem lapanpem=new lapanpem();
desktop.add(lapanpem);
lapanpem.show();
}
if(obj == miAbout){
about miAbout=new about();
desktop.add(miAbout);
miAbout.show();
}
if(obj==miExit){
exit();
}
}
/**
* method @keluar dari System
*/
private void exit(){
try{
int rep=JOptionPane.showConfirmDialog(this,"By.RadenMas RamaHandi\nMoo Keluar dari Aplikasi ini Y/N ?","kadalistn", JOptionPane.YES_NO_OPTION, JOptionPane.PLAIN_MESSAGE);
if(rep==JOptionPane.YES_OPTION){
setVisible(false); //@Menyembunyikan Frame.
dispose(); //@Membersihkan Resource dari system memori
System.out.println("\n\nThanks For All ... \n\nBy kadalistn@yahoo.com\n jl.caringin1no.44@gmail.com\n mas.handi@yahoo.co.id\n\n\n Bey bey ...\n\n");
System.exit(0);
}
else{
}
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); //Membebaskan aplikasi dari memori
}
catch(Exception e){
}
}
/**
* method atau fungsi @mengatur waktu dari System ...
*/
public void setJam(){
ActionListener taskPerformer = new ActionListener(){
public void actionPerformed(ActionEvent evt){
String nol_jam = "", nol_menit = "", nol_detik = "";
Date dateTime = new Date();
int nilai_jam = dateTime.getHours();
int nilai_menit = dateTime.getMinutes();
int nilai_detik = dateTime.getSeconds();
if(nilai_jam <= 9) nol_jam = "0";
if(nilai_menit <= 9) nol_menit = "0";
if(nilai_detik <= 9) nol_detik = "0";
String jam = nol_jam + Integer.toString(nilai_jam);
String menit = nol_menit + Integer.toString(nilai_menit);
String detik = nol_detik + Integer.toString(nilai_detik);
lbJam.setText(" "+" ---@Time:( "+jam + ":" + menit + ":" + detik + " ):emiT@---");
}
};
new Timer(1000, taskPerformer).start();
}
}
Tanpa keterangan errornya,
Tanpa keterangan errornya, kita ngga tahu apa yang terjadi.
Mungkin lebih baik jika menggunakan IDE seperti Eclipse atau Netbeans. Untuk Eclipse, program seperti di atas bisa dibuat dengan mudah. Lihat di sini untuk langkah demi langkah silakan dilihat di sini
http://java.lyracc.com/artikel/java-untuk-pemula/menjalankan-eclipse-unt...
collection
salam kenal. :D
misalnya kasusnya seperti ini gimana mas? :D
public static void main(String as[]) {
List<Integer> peserta = new ArrayList<Integer>();
for (int i = 0; i < 5; i++) {
peserta.add(i);
}
List<Integer> log = new ArrayList<Integer>();
for (int i = 0; i < 10; i++) {
log.add(i);
}
Set set = new HashSet();
for (Iterator<Integer> it = peserta.iterator(); it.hasNext();)
} sebenarnya permintaan dari output di atas simpel sich mas, cuma menamilkan angka 5-9. tapi kenyataannya loopingnya ndak berhenti2 e? gimana yach caranya biar loopingnya berhenti? terima kasih, :D{
for (Iterator<Integer> it1 = log.iterator();
it1.hasNext();) {
int object1 = (int) it1.next();
if(!peserta.contains(object1)){
System.out.println("tidak ada: "+object1);
set.add(object1);
}
}
}