/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pr_pbo2;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class KeyEventTest extends JFrame implements KeyListener {
private String baris1="", baris2="", baris3="";
private JTextArea textArea;
public KeyEventTest() {
super ("Mencoba Key Event");
textArea = new JTextArea (10,15);
textArea.setText("Tekan sembarang tombol di keyboard...");
textArea.setEnabled(false);
textArea.setDisabledTextColor(Color.BLACK);
getContentPane().add(textArea);
addKeyListener (this);
setSize (300,150);
setLocationRelativeTo(null);
setVisible(true);
}
@Override
public void keyPressed (KeyEvent e) {
baris1 = "Tombol yang ditekan : " + KeyEvent.getKeyText(e.getKeyCode());
setLines2and3 (e);
}
@Override
public void keyReleased (KeyEvent e) {
baris1 = "Tombol yang dilepas : " + KeyEvent.getKeyText(e.getKeyCode());
setLines2and3 (e);
}
@Override
public void keyTyped (KeyEvent e) {
baris1 = "Tombol yang ditulis : " + e.getKeyChar();
setLines2and3 (e);
}
private void setLines2and3 (KeyEvent e) {
baris2 = "This key is "+ (e.isActionKey() ? "" : "not ") + "an action key";
String temp = KeyEvent.getKeyModifiersText(e.getModifiers());
baris3 = "Modifier key pressed : " + (temp.equals("") ? "none" : temp);
textArea.setText(baris1 + "\n" + baris2 + "\n" + baris3 + "\n");
}
public static void main (String args[]) {
KeyEventTest test = new KeyEventTest();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
welcom
Selamat datang di blog sederhana kami..
Sunday, October 30, 2011
contoh program WindowEvent
package pr_pbo2;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class WindowEventDemo extends JPanel
implements WindowListener,
WindowFocusListener,
WindowStateListener {
final static String newline = "\n";
final static String space = " ";
static JFrame frame;
JTextArea display;
public WindowEventDemo() {
super(new BorderLayout());
display = new JTextArea();
display.setEditable(false);
JScrollPane scrollPane = new JScrollPane(display);
scrollPane.setPreferredSize(new Dimension(500, 450));
add(scrollPane, BorderLayout.CENTER);
frame.addWindowListener(this);
frame.addWindowFocusListener(this);
frame.addWindowStateListener(this);
checkWM();
}
public void checkWM() {
Toolkit tk = frame.getToolkit();
if (!(tk.isFrameStateSupported(Frame.ICONIFIED))) {
displayMessage(
"Your window manager doesn't support ICONIFIED.");
}
if (!(tk.isFrameStateSupported(Frame.MAXIMIZED_VERT))) {
displayMessage(
"Your window manager doesn't support MAXIMIZED_VERT.");
}
if (!(tk.isFrameStateSupported(Frame.MAXIMIZED_HORIZ))) {
displayMessage(
"Your window manager doesn't support MAXIMIZED_HORIZ.");
}
if (!(tk.isFrameStateSupported(Frame.MAXIMIZED_BOTH))) {
displayMessage(
"Your window manager doesn't support MAXIMIZED_BOTH.");
} else {
displayMessage(
"Your window manager supports MAXIMIZED_BOTH.");
}
}
@Override
public void windowClosing(WindowEvent e) {
displayMessage("WindowListener method called: windowClosing.");
ActionListener task = new ActionListener() {
boolean alreadyDisposed = false;
@Override
public void actionPerformed(ActionEvent e) {
if (!alreadyDisposed) {
alreadyDisposed = true;
frame.dispose();
} else {
System.exit(0);
}
}
};
Timer timer = new Timer(500, task);
timer.setInitialDelay(2000);
timer.start();
}
@Override
public void windowClosed(WindowEvent e) {
displayMessage("WindowListener method called: windowClosed.");
}
@Override
public void windowOpened(WindowEvent e) {
displayMessage("WindowListener method called: windowOpened.");
}
@Override
public void windowIconified(WindowEvent e) {
displayMessage("WindowListener method called: windowIconified.");
}
@Override
public void windowDeiconified(WindowEvent e) {
displayMessage("WindowListener method called: windowDeiconified.");
}
@Override
public void windowActivated(WindowEvent e) {
displayMessage("WindowListener method called: windowActivated.");
}
@Override
public void windowDeactivated(WindowEvent e) {
displayMessage("WindowListener method called: windowDeactivated.");
}
@Override
public void windowGainedFocus(WindowEvent e) {
displayMessage("WindowFocusListener method called: windowGainedFocus.");
}
@Override
public void windowLostFocus(WindowEvent e) {
displayMessage("WindowFocusListener method called: windowLostFocus.");
}
@Override
public void windowStateChanged(WindowEvent e) {
displayStateMessage(
"WindowStateListener method called: windowStateChanged.", e);
}
void displayMessage(String msg) {
display.append(msg + newline);
System.out.println(msg);
}
void displayStateMessage(String prefix, WindowEvent e) {
int state = e.getNewState();
int oldState = e.getOldState();
String msg = prefix
+ newline + space
+ "New state: "
+ convertStateToString(state)
+ newline + space
+ "Old state: "
+ convertStateToString(oldState);
display.append(msg + newline);
System.out.println(msg);
}
String convertStateToString(int state) {
if (state == Frame.NORMAL) {
return "NORMAL";
}
if ((state & Frame.ICONIFIED) != 0) {
return "ICONIFIED";
}
if ((state & Frame.MAXIMIZED_BOTH) == Frame.MAXIMIZED_BOTH) {
return "MAXIMIZED_BOTH";
}
if ((state & Frame.MAXIMIZED_VERT) != 0) {
return "MAXIMIZED_VERT";
}
if ((state & Frame.MAXIMIZED_HORIZ) != 0) {
return "MAXIMIZED_HORIZ";
}
return "UNKNOWN";
}
private static void createAndShowGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
frame = new JFrame("WindowEventDemo");
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
JComponent newContentPane = new WindowEventDemo();
newContentPane.setOpaque(true);
frame.setContentPane(newContentPane);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class WindowEventDemo extends JPanel
implements WindowListener,
WindowFocusListener,
WindowStateListener {
final static String newline = "\n";
final static String space = " ";
static JFrame frame;
JTextArea display;
public WindowEventDemo() {
super(new BorderLayout());
display = new JTextArea();
display.setEditable(false);
JScrollPane scrollPane = new JScrollPane(display);
scrollPane.setPreferredSize(new Dimension(500, 450));
add(scrollPane, BorderLayout.CENTER);
frame.addWindowListener(this);
frame.addWindowFocusListener(this);
frame.addWindowStateListener(this);
checkWM();
}
public void checkWM() {
Toolkit tk = frame.getToolkit();
if (!(tk.isFrameStateSupported(Frame.ICONIFIED))) {
displayMessage(
"Your window manager doesn't support ICONIFIED.");
}
if (!(tk.isFrameStateSupported(Frame.MAXIMIZED_VERT))) {
displayMessage(
"Your window manager doesn't support MAXIMIZED_VERT.");
}
if (!(tk.isFrameStateSupported(Frame.MAXIMIZED_HORIZ))) {
displayMessage(
"Your window manager doesn't support MAXIMIZED_HORIZ.");
}
if (!(tk.isFrameStateSupported(Frame.MAXIMIZED_BOTH))) {
displayMessage(
"Your window manager doesn't support MAXIMIZED_BOTH.");
} else {
displayMessage(
"Your window manager supports MAXIMIZED_BOTH.");
}
}
@Override
public void windowClosing(WindowEvent e) {
displayMessage("WindowListener method called: windowClosing.");
ActionListener task = new ActionListener() {
boolean alreadyDisposed = false;
@Override
public void actionPerformed(ActionEvent e) {
if (!alreadyDisposed) {
alreadyDisposed = true;
frame.dispose();
} else {
System.exit(0);
}
}
};
Timer timer = new Timer(500, task);
timer.setInitialDelay(2000);
timer.start();
}
@Override
public void windowClosed(WindowEvent e) {
displayMessage("WindowListener method called: windowClosed.");
}
@Override
public void windowOpened(WindowEvent e) {
displayMessage("WindowListener method called: windowOpened.");
}
@Override
public void windowIconified(WindowEvent e) {
displayMessage("WindowListener method called: windowIconified.");
}
@Override
public void windowDeiconified(WindowEvent e) {
displayMessage("WindowListener method called: windowDeiconified.");
}
@Override
public void windowActivated(WindowEvent e) {
displayMessage("WindowListener method called: windowActivated.");
}
@Override
public void windowDeactivated(WindowEvent e) {
displayMessage("WindowListener method called: windowDeactivated.");
}
@Override
public void windowGainedFocus(WindowEvent e) {
displayMessage("WindowFocusListener method called: windowGainedFocus.");
}
@Override
public void windowLostFocus(WindowEvent e) {
displayMessage("WindowFocusListener method called: windowLostFocus.");
}
@Override
public void windowStateChanged(WindowEvent e) {
displayStateMessage(
"WindowStateListener method called: windowStateChanged.", e);
}
void displayMessage(String msg) {
display.append(msg + newline);
System.out.println(msg);
}
void displayStateMessage(String prefix, WindowEvent e) {
int state = e.getNewState();
int oldState = e.getOldState();
String msg = prefix
+ newline + space
+ "New state: "
+ convertStateToString(state)
+ newline + space
+ "Old state: "
+ convertStateToString(oldState);
display.append(msg + newline);
System.out.println(msg);
}
String convertStateToString(int state) {
if (state == Frame.NORMAL) {
return "NORMAL";
}
if ((state & Frame.ICONIFIED) != 0) {
return "ICONIFIED";
}
if ((state & Frame.MAXIMIZED_BOTH) == Frame.MAXIMIZED_BOTH) {
return "MAXIMIZED_BOTH";
}
if ((state & Frame.MAXIMIZED_VERT) != 0) {
return "MAXIMIZED_VERT";
}
if ((state & Frame.MAXIMIZED_HORIZ) != 0) {
return "MAXIMIZED_HORIZ";
}
return "UNKNOWN";
}
private static void createAndShowGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
frame = new JFrame("WindowEventDemo");
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
JComponent newContentPane = new WindowEventDemo();
newContentPane.setOpaque(true);
frame.setContentPane(newContentPane);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}
}
contoh program MouseEventHandling
package pr_pbo2;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseEventHandling extends JFrame
implements MouseListener, MouseMotionListener {
private JLabel statusBar;
public MouseEventHandling () {
super ("Mencoba Beberapa Mouse Event Handling");
statusBar = new JLabel();
getContentPane().add(statusBar,BorderLayout.SOUTH);
addMouseListener (this);
addMouseMotionListener (this);
setSize (300,100);
setLocationRelativeTo(null);
setVisible(true);
}
//MouseListener event handler
public void mouseClicked (MouseEvent e) {
statusBar.setText("Clicked at ["+ e.getX() + "," + e.getY() + "]");
}
public void mousePressed (MouseEvent e) {
statusBar.setText("Pressed at ["+ e.getX() + "," + e.getY() + "]");
}
public void mouseReleased (MouseEvent e) {
statusBar.setText("Released at ["+ e.getX() + "," + e.getY() + "]");
}
public void mouseEntered (MouseEvent e) {
statusBar.setText("Entered at ["+ e.getX() + "," + e.getY() + "]");
getContentPane().setBackground(Color.GREEN);
}
public void mouseExited (MouseEvent e) {
statusBar.setText("Mouse outside window");
getContentPane().setBackground(Color.WHITE);
}
//MouseMotionListener event handler
public void mouseDragged (MouseEvent e) {
statusBar.setText("Dragged at ["+ e.getX() + "," + e.getY() + "]");
}
public void mouseMoved (MouseEvent e) {
statusBar.setText("Moved at ["+ e.getX() + "," + e.getY() + "]");
}
public static void main (String args[]) {
MouseEventHandling test = new MouseEventHandling();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseEventHandling extends JFrame
implements MouseListener, MouseMotionListener {
private JLabel statusBar;
public MouseEventHandling () {
super ("Mencoba Beberapa Mouse Event Handling");
statusBar = new JLabel();
getContentPane().add(statusBar,BorderLayout.SOUTH);
addMouseListener (this);
addMouseMotionListener (this);
setSize (300,100);
setLocationRelativeTo(null);
setVisible(true);
}
//MouseListener event handler
public void mouseClicked (MouseEvent e) {
statusBar.setText("Clicked at ["+ e.getX() + "," + e.getY() + "]");
}
public void mousePressed (MouseEvent e) {
statusBar.setText("Pressed at ["+ e.getX() + "," + e.getY() + "]");
}
public void mouseReleased (MouseEvent e) {
statusBar.setText("Released at ["+ e.getX() + "," + e.getY() + "]");
}
public void mouseEntered (MouseEvent e) {
statusBar.setText("Entered at ["+ e.getX() + "," + e.getY() + "]");
getContentPane().setBackground(Color.GREEN);
}
public void mouseExited (MouseEvent e) {
statusBar.setText("Mouse outside window");
getContentPane().setBackground(Color.WHITE);
}
//MouseMotionListener event handler
public void mouseDragged (MouseEvent e) {
statusBar.setText("Dragged at ["+ e.getX() + "," + e.getY() + "]");
}
public void mouseMoved (MouseEvent e) {
statusBar.setText("Moved at ["+ e.getX() + "," + e.getY() + "]");
}
public static void main (String args[]) {
MouseEventHandling test = new MouseEventHandling();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Thursday, October 20, 2011
TestTanggal Kembali kosong
package project;
import java.util.Date;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author admin
*/
public class TestTglKembaliNull {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
// pengujian tanggal pinjam kosong
Koleksi tesNull = new Koleksi();
Date date2 = new Date(111, 8, 7);
tesNull.setTanggalKembali(date2);
Koleksi tes1 = new Koleksi();
Date date = new Date (111,8,3);
Date date1 = new Date (111,8,7);
tes1.setTanggalPinjam(date);
tes1.setTanggalKembali(date1);
System.out.println("Hore benar");
}
}
import java.util.Date;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author admin
*/
public class TestTglKembaliNull {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
// pengujian tanggal pinjam kosong
Koleksi tesNull = new Koleksi();
Date date2 = new Date(111, 8, 7);
tesNull.setTanggalKembali(date2);
Koleksi tes1 = new Koleksi();
Date date = new Date (111,8,3);
Date date1 = new Date (111,8,7);
tes1.setTanggalPinjam(date);
tes1.setTanggalKembali(date1);
System.out.println("Hore benar");
}
}
TestTanggalKembaliBefore
package project;
import java.util.Date;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author admin
*/
public class TestTglKembaliBefore {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
Koleksi tesBefore = new Koleksi();
Date pinjam = new Date (111,9,1);
Date kembali = new Date (111,8, 29);
tesBefore.setTanggalPinjam(pinjam);
tesBefore.setTanggalKembali(kembali);
System.out.println(tesBefore.getTanggalKembali());
}
}
import java.util.Date;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author admin
*/
public class TestTglKembaliBefore {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
Koleksi tesBefore = new Koleksi();
Date pinjam = new Date (111,9,1);
Date kembali = new Date (111,8, 29);
tesBefore.setTanggalPinjam(pinjam);
tesBefore.setTanggalKembali(kembali);
System.out.println(tesBefore.getTanggalKembali());
}
}
testPengguna
package project;
import java.util.Calendar;
import java.util.Date;
public class TestPengguna {
public static void main(String[] args) {
Pengguna testPengguna = new Pengguna();
testPengguna.setNama("Firman");
System.out.println("Pengguna : " + testPengguna.getNama());
Buku testBuku1 = new Buku();
testBuku1.setJudul("1/2 isi 1/2 kosong");
System.out.println("Judul : " + testBuku1.getJudul());
Buku testBuku2 = new Buku();
testBuku2.setJudul("PJP");
System.out.println("Judul : " + testBuku2.getJudul());
Date now = Calendar.getInstance().getTime();
Date Date1 = new Date(111, 7, 1);
Date Date2 = new Date(111, 7, 5);
testPengguna.tambahDaftarPinjaman(testBuku1, Date1);
testPengguna.tambahDaftarPinjaman(testBuku2, Date2);
System.out.println("Daftar Pinjaman");
System.out.println(testPengguna.tampilPinjaman());
System.out.println("Terlambat : " + testPengguna.adaDaftarPinjamanTerlambat(now));
System.out.println("Denda : " + testPengguna.hitungDenda(now));
System.out.println(now);
}
}
import java.util.Calendar;
import java.util.Date;
public class TestPengguna {
public static void main(String[] args) {
Pengguna testPengguna = new Pengguna();
testPengguna.setNama("Firman");
System.out.println("Pengguna : " + testPengguna.getNama());
Buku testBuku1 = new Buku();
testBuku1.setJudul("1/2 isi 1/2 kosong");
System.out.println("Judul : " + testBuku1.getJudul());
Buku testBuku2 = new Buku();
testBuku2.setJudul("PJP");
System.out.println("Judul : " + testBuku2.getJudul());
Date now = Calendar.getInstance().getTime();
Date Date1 = new Date(111, 7, 1);
Date Date2 = new Date(111, 7, 5);
testPengguna.tambahDaftarPinjaman(testBuku1, Date1);
testPengguna.tambahDaftarPinjaman(testBuku2, Date2);
System.out.println("Daftar Pinjaman");
System.out.println(testPengguna.tampilPinjaman());
System.out.println("Terlambat : " + testPengguna.adaDaftarPinjamanTerlambat(now));
System.out.println("Denda : " + testPengguna.hitungDenda(now));
System.out.println(now);
}
}
TestKemabli Pinjaman
package project;
public class TestKembaliPinjaman {
public static void main(String[] args) throws Exception {
Pengguna kembali = new Pengguna();
Koleksi kol1 = new Koleksi();
kol1.setJudul("Chicken Soup");
kembali.kembalikanPinjaman(kol1);
Koleksi kol2 = new Koleksi();
kembali.kembalikanPinjaman(kol2);
}
}
public class TestKembaliPinjaman {
public static void main(String[] args) throws Exception {
Pengguna kembali = new Pengguna();
Koleksi kol1 = new Koleksi();
kol1.setJudul("Chicken Soup");
kembali.kembalikanPinjaman(kol1);
Koleksi kol2 = new Koleksi();
kembali.kembalikanPinjaman(kol2);
}
}
TestDate
package project;
import java.util.Calendar;
import java.util.Date;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author admin
*/
public class TestDate {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Date now = Calendar.getInstance().getTime();
Date yesterday = new Date (111,8,13);
System.out.println("now : " + now);
System.out.println("yesterday : " + yesterday);
}
}
import java.util.Calendar;
import java.util.Date;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author admin
*/
public class TestDate {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Date now = Calendar.getInstance().getTime();
Date yesterday = new Date (111,8,13);
System.out.println("now : " + now);
System.out.println("yesterday : " + yesterday);
}
}
TesThun Terbit
package project;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
public class TesTglKembali {
/**
* digunakan untuk mengeksekusi program
* @param args
*/
public static void main(String[] args) {
/**
* merupakan obyek baru dari kelas Koleksi
*/
Koleksi tesNull = new Koleksi();
/**
* merupakan obyek baru dari kelas Date dan mengeset tanggal
*/
Date date2 = new Date(111, 8, 7);
/**
* jika mengesetkan date2 sebagai tanggal kembali
*/
try {
tesNull.setTanggalKembali(date2);
} catch (Exception ex) {
Logger.getLogger(TesTglKembali.class.getName()).log(Level.SEVERE, null, ex);
}
/**
* merupakan obyek baru dari kelas Koleksi
*/
Koleksi tes1 = new Koleksi();
/**
* merupakan obyek baru dari kelas Date dan mengeset tanggal
*/
Date date = new Date(111, 8, 3);
/**
* merupakan obyek baru dari kelas Date dan mengeset tanggal
*/
Date date1 = new Date(111, 8, 7);
/**
* jika tanggal pinjam dan tanggal kembali diset maka akan menampilkan tulisan "yang ini baru bener"
*/
try {
tes1.setTanggalPinjam(date);
tes1.setTanggalKembali(date1);
System.out.println("Yang ini baru bener");
} catch (Exception ex) {
Logger.getLogger(TesTglKembali.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
public class TesTglKembali {
/**
* digunakan untuk mengeksekusi program
* @param args
*/
public static void main(String[] args) {
/**
* merupakan obyek baru dari kelas Koleksi
*/
Koleksi tesNull = new Koleksi();
/**
* merupakan obyek baru dari kelas Date dan mengeset tanggal
*/
Date date2 = new Date(111, 8, 7);
/**
* jika mengesetkan date2 sebagai tanggal kembali
*/
try {
tesNull.setTanggalKembali(date2);
} catch (Exception ex) {
Logger.getLogger(TesTglKembali.class.getName()).log(Level.SEVERE, null, ex);
}
/**
* merupakan obyek baru dari kelas Koleksi
*/
Koleksi tes1 = new Koleksi();
/**
* merupakan obyek baru dari kelas Date dan mengeset tanggal
*/
Date date = new Date(111, 8, 3);
/**
* merupakan obyek baru dari kelas Date dan mengeset tanggal
*/
Date date1 = new Date(111, 8, 7);
/**
* jika tanggal pinjam dan tanggal kembali diset maka akan menampilkan tulisan "yang ini baru bener"
*/
try {
tes1.setTanggalPinjam(date);
tes1.setTanggalKembali(date1);
System.out.println("Yang ini baru bener");
} catch (Exception ex) {
Logger.getLogger(TesTglKembali.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
TesTanggalKembali
package project;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
public class TesTglKembali {
/**
* digunakan untuk mengeksekusi program
* @param args
*/
public static void main(String[] args) {
/**
* merupakan obyek baru dari kelas Koleksi
*/
Koleksi tesNull = new Koleksi();
/**
* merupakan obyek baru dari kelas Date dan mengeset tanggal
*/
Date date2 = new Date(111, 8, 7);
/**
* jika mengesetkan date2 sebagai tanggal kembali
*/
try {
tesNull.setTanggalKembali(date2);
} catch (Exception ex) {
Logger.getLogger(TesTglKembali.class.getName()).log(Level.SEVERE, null, ex);
}
/**
* merupakan obyek baru dari kelas Koleksi
*/
Koleksi tes1 = new Koleksi();
/**
* merupakan obyek baru dari kelas Date dan mengeset tanggal
*/
Date date = new Date(111, 8, 3);
/**
* merupakan obyek baru dari kelas Date dan mengeset tanggal
*/
Date date1 = new Date(111, 8, 7);
/**
* jika tanggal pinjam dan tanggal kembali diset maka akan menampilkan tulisan "yang ini baru bener"
*/
try {
tes1.setTanggalPinjam(date);
tes1.setTanggalKembali(date1);
System.out.println("Yang ini baru bener");
} catch (Exception ex) {
Logger.getLogger(TesTglKembali.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
public class TesTglKembali {
/**
* digunakan untuk mengeksekusi program
* @param args
*/
public static void main(String[] args) {
/**
* merupakan obyek baru dari kelas Koleksi
*/
Koleksi tesNull = new Koleksi();
/**
* merupakan obyek baru dari kelas Date dan mengeset tanggal
*/
Date date2 = new Date(111, 8, 7);
/**
* jika mengesetkan date2 sebagai tanggal kembali
*/
try {
tesNull.setTanggalKembali(date2);
} catch (Exception ex) {
Logger.getLogger(TesTglKembali.class.getName()).log(Level.SEVERE, null, ex);
}
/**
* merupakan obyek baru dari kelas Koleksi
*/
Koleksi tes1 = new Koleksi();
/**
* merupakan obyek baru dari kelas Date dan mengeset tanggal
*/
Date date = new Date(111, 8, 3);
/**
* merupakan obyek baru dari kelas Date dan mengeset tanggal
*/
Date date1 = new Date(111, 8, 7);
/**
* jika tanggal pinjam dan tanggal kembali diset maka akan menampilkan tulisan "yang ini baru bener"
*/
try {
tes1.setTanggalPinjam(date);
tes1.setTanggalKembali(date1);
System.out.println("Yang ini baru bener");
} catch (Exception ex) {
Logger.getLogger(TesTglKembali.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
TesKoleksi
package project;
import java.util.Date;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author admin
*/
public class TesKoleksi {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
Koleksi test = new Koleksi();
test.setTanggalPinjam(new Date(111, 9, 1));
test.setTanggalKembali(new Date(111, 9, 8));
System.out.println("lama pinjam koleksi = " + test.lamaPinjam()+ "hari");
Buku testBuku = new Buku();
testBuku.setTanggalPinjam(new Date(111, 9, 1));
testBuku.setTanggalKembali(new Date(111, 9, 8));
System.out.println("lama pinjam buku = " + testBuku.lamaPinjam()+ "hari");
}
}
import java.util.Date;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author admin
*/
public class TesKoleksi {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
Koleksi test = new Koleksi();
test.setTanggalPinjam(new Date(111, 9, 1));
test.setTanggalKembali(new Date(111, 9, 8));
System.out.println("lama pinjam koleksi = " + test.lamaPinjam()+ "hari");
Buku testBuku = new Buku();
testBuku.setTanggalPinjam(new Date(111, 9, 1));
testBuku.setTanggalKembali(new Date(111, 9, 8));
System.out.println("lama pinjam buku = " + testBuku.lamaPinjam()+ "hari");
}
}
TesKembali
package project;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
public class TesKembali {
/**
* digunakan untuk mengeksekusi program
* @param args
*/
public static void main(String[] args) {
Pengguna kembali = new Pengguna();
Koleksi kol1 = new Koleksi();
kol1.setJudul("Chicken Soup");
kembali.tambahDaftarPinjaman(kol1, new Date(111, 9, 5));
try {
kembali.kembalikanPinjaman(kol1);
System.out.println("Yup sudah kembali");
} catch (Exception ex) {
Logger.getLogger(TesKembali.class.getName()).log(Level.SEVERE, null, ex);
}
Koleksi kol2 = new Koleksi();
try {
kembali.kembalikanPinjaman(kol2);
} catch (Exception ex) {
Logger.getLogger(TesKembali.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
public class TesKembali {
/**
* digunakan untuk mengeksekusi program
* @param args
*/
public static void main(String[] args) {
Pengguna kembali = new Pengguna();
Koleksi kol1 = new Koleksi();
kol1.setJudul("Chicken Soup");
kembali.tambahDaftarPinjaman(kol1, new Date(111, 9, 5));
try {
kembali.kembalikanPinjaman(kol1);
System.out.println("Yup sudah kembali");
} catch (Exception ex) {
Logger.getLogger(TesKembali.class.getName()).log(Level.SEVERE, null, ex);
}
Koleksi kol2 = new Koleksi();
try {
kembali.kembalikanPinjaman(kol2);
} catch (Exception ex) {
Logger.getLogger(TesKembali.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Pengguna
package project;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Pengguna implements Peminjam {
private String nama;
private String alamat;
public static int MaxKoleksiPinjaman = 10;
private ArrayList daftarPinjaman = new ArrayList();
/**
* method yang digunakan untuk memanggil nama
* @return the nama
*/
public String getNama() {
return nama;
}
/**
* method yang digunakan untuk mengeset nama
* @param nama
*/
public void setNama(String nama) {
this.nama = nama;
}
/**
* method yang digunakan untuk memanggil Alamat
* @return alamat
*/
public String getAlamat() {
return alamat;
}
/**
* method yang digunkan untuk mengeset alamat
* @param alamat
*/
public void setAlamat(String alamat) {
this.alamat = alamat;
}
/**
* fungsi untuk mengetahui ada tidaknya pinjaman yang terlambat
* @param tanggalPinjam
* @param tanggalKembali
* @return
*/
public boolean adaDaftarPinjamanTerlambat(Date tanggalKembali) {
// dari i sama dengan 0 sampai dengan i kurang dari lebar daftarPinjaman
for (int i = 0; i < daftarPinjaman.size(); i++) {
// menampilkan tanggal pinjam
Date tanggalPinjam = daftarPinjaman.get(i).getTanggalPinjam();
// jika ada terlambat maka return true, jika tidak return false
if (daftarPinjaman.get(i).isTerlambat(tanggalPinjam, tanggalKembali)) {
return true;
}
}
return false;
}
/**
* merupakan method tambahDaftarPinjaman yang berisi 3 syarat yang harus terpenuhi saat meminjam koleksi
* @param kolPinjam
* @param tanggalPinjam
*/
@Override
public void tambahDaftarPinjaman(Koleksi kolPinjam, Date tanggalPinjam) {
Koleksi tempPinjam = kolPinjam;
if (kolPinjam.getJudul() == null) {
try {
throw new Exception("ndak ada judul tuu");
} catch (Exception ex) {
Logger.getLogger(Pengguna.class.getName()).log(Level.SEVERE, null, ex);
}
}
if (daftarPinjaman.isEmpty()) {
//daftar pinjaman kosong
daftarPinjaman.add(tempPinjam);
} else {
if (daftarPinjaman.size() < MaxKoleksiPinjaman) {
//daftar pinjaman isi
//cek terlambat
if (!adaDaftarPinjamanTerlambat(tanggalPinjam)) {
//tidak ada pinjaman terlambat
// kolPinjam.setTanggalPinjam(tanggalPinjam);
daftarPinjaman.add(tempPinjam);
} else {
//ada yang terlambat
System.out.println("Ada pinjaman terlambat");
}
} else {
// jumlah pinjaman melebihi batas
System.out.println("Jumlah pinjaman sudah lebih dari : " + MaxKoleksiPinjaman);
}
}
}
/**
* merupakan method adaKoleksi yang digunakan untuk mengeluarkan daftarPinjaman
* @param kol
* @return
*/
public boolean adaKoleksi(Koleksi kol) {
return daftarPinjaman.contains(kol);
}
/**
* methos hitung denda yang digunakan untuk menjumlahkan semua total denda dari semua koleksi yang pernah dipinjam
* @param tanggalPinjam
* @return
*/
@Override
public int hitungDenda(Date tanggalPinjam) {
int result = 0;
if (adaDaftarPinjamanTerlambat(tanggalPinjam)) {
for (int i = 0; i < daftarPinjaman.size(); i++) {
result = result + daftarPinjaman.get(i).hitungDenda(tanggalPinjam);
}
return result;
} else {
return 0;
}
}
/**
* merupakan method tampilPinjaman yang digunakan utuk menampilkan semua judul koleksi yang dipinjam
* @return
*/
public String tampilPinjaman() {
String result = "";
if (daftarPinjaman.isEmpty()) {
result = "anda tidak pinjam apa-apa";
} else {
for (int i = 0; i < daftarPinjaman.size(); i++) {
result = result + daftarPinjaman.get(i).getJudul() + "/n tanggal pinjam " + daftarPinjaman.get(i).getTanggalPinjam() + "\n";
}
}
return result;
}
/**
* Fungsi untuk mengembalikan pinjaman koleksi
* @param kol adalah koleksi yang dikembalikan
*/
public void kembalikanPinjaman(Koleksi kol) throws Exception {
Date now = Calendar.getInstance().getTime();
kol.getTanggalKembali();
if (daftarPinjaman.isEmpty()) {
throw new Exception("anda belum pinjam");
} else {
if (adaKoleksi(kol)) {
// pinjaman ada di daftar pinjam
daftarPinjaman.remove(kol);
} else {
// koleksi tidak ada di daftar pinjaman
System.out.println("Tidak ada koleksi di daftar pinjaman");
}
}
}
}
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Pengguna implements Peminjam {
private String nama;
private String alamat;
public static int MaxKoleksiPinjaman = 10;
private ArrayList
/**
* method yang digunakan untuk memanggil nama
* @return the nama
*/
public String getNama() {
return nama;
}
/**
* method yang digunakan untuk mengeset nama
* @param nama
*/
public void setNama(String nama) {
this.nama = nama;
}
/**
* method yang digunakan untuk memanggil Alamat
* @return alamat
*/
public String getAlamat() {
return alamat;
}
/**
* method yang digunkan untuk mengeset alamat
* @param alamat
*/
public void setAlamat(String alamat) {
this.alamat = alamat;
}
/**
* fungsi untuk mengetahui ada tidaknya pinjaman yang terlambat
* @param tanggalPinjam
* @param tanggalKembali
* @return
*/
public boolean adaDaftarPinjamanTerlambat(Date tanggalKembali) {
// dari i sama dengan 0 sampai dengan i kurang dari lebar daftarPinjaman
for (int i = 0; i < daftarPinjaman.size(); i++) {
// menampilkan tanggal pinjam
Date tanggalPinjam = daftarPinjaman.get(i).getTanggalPinjam();
// jika ada terlambat maka return true, jika tidak return false
if (daftarPinjaman.get(i).isTerlambat(tanggalPinjam, tanggalKembali)) {
return true;
}
}
return false;
}
/**
* merupakan method tambahDaftarPinjaman yang berisi 3 syarat yang harus terpenuhi saat meminjam koleksi
* @param kolPinjam
* @param tanggalPinjam
*/
@Override
public void tambahDaftarPinjaman(Koleksi kolPinjam, Date tanggalPinjam) {
Koleksi tempPinjam = kolPinjam;
if (kolPinjam.getJudul() == null) {
try {
throw new Exception("ndak ada judul tuu");
} catch (Exception ex) {
Logger.getLogger(Pengguna.class.getName()).log(Level.SEVERE, null, ex);
}
}
if (daftarPinjaman.isEmpty()) {
//daftar pinjaman kosong
daftarPinjaman.add(tempPinjam);
} else {
if (daftarPinjaman.size() < MaxKoleksiPinjaman) {
//daftar pinjaman isi
//cek terlambat
if (!adaDaftarPinjamanTerlambat(tanggalPinjam)) {
//tidak ada pinjaman terlambat
// kolPinjam.setTanggalPinjam(tanggalPinjam);
daftarPinjaman.add(tempPinjam);
} else {
//ada yang terlambat
System.out.println("Ada pinjaman terlambat");
}
} else {
// jumlah pinjaman melebihi batas
System.out.println("Jumlah pinjaman sudah lebih dari : " + MaxKoleksiPinjaman);
}
}
}
/**
* merupakan method adaKoleksi yang digunakan untuk mengeluarkan daftarPinjaman
* @param kol
* @return
*/
public boolean adaKoleksi(Koleksi kol) {
return daftarPinjaman.contains(kol);
}
/**
* methos hitung denda yang digunakan untuk menjumlahkan semua total denda dari semua koleksi yang pernah dipinjam
* @param tanggalPinjam
* @return
*/
@Override
public int hitungDenda(Date tanggalPinjam) {
int result = 0;
if (adaDaftarPinjamanTerlambat(tanggalPinjam)) {
for (int i = 0; i < daftarPinjaman.size(); i++) {
result = result + daftarPinjaman.get(i).hitungDenda(tanggalPinjam);
}
return result;
} else {
return 0;
}
}
/**
* merupakan method tampilPinjaman yang digunakan utuk menampilkan semua judul koleksi yang dipinjam
* @return
*/
public String tampilPinjaman() {
String result = "";
if (daftarPinjaman.isEmpty()) {
result = "anda tidak pinjam apa-apa";
} else {
for (int i = 0; i < daftarPinjaman.size(); i++) {
result = result + daftarPinjaman.get(i).getJudul() + "/n tanggal pinjam " + daftarPinjaman.get(i).getTanggalPinjam() + "\n";
}
}
return result;
}
/**
* Fungsi untuk mengembalikan pinjaman koleksi
* @param kol adalah koleksi yang dikembalikan
*/
public void kembalikanPinjaman(Koleksi kol) throws Exception {
Date now = Calendar.getInstance().getTime();
kol.getTanggalKembali();
if (daftarPinjaman.isEmpty()) {
throw new Exception("anda belum pinjam");
} else {
if (adaKoleksi(kol)) {
// pinjaman ada di daftar pinjam
daftarPinjaman.remove(kol);
} else {
// koleksi tidak ada di daftar pinjaman
System.out.println("Tidak ada koleksi di daftar pinjaman");
}
}
}
}
Peminjam interface
package project;
import java.util.Date;
interface Peminjam {
public int hitungDenda (Date tanggalPinjam) ;
public void tambahDaftarPinjaman(Koleksi koleksi, Date tanggalPinjam);
}
import java.util.Date;
interface Peminjam {
public int hitungDenda (Date tanggalPinjam) ;
public void tambahDaftarPinjaman(Koleksi koleksi, Date tanggalPinjam);
}
Masyarakat
package project;
public class Masyarakat extends Pengguna {
private String noKtp;
public String getNoKtp() {
return noKtp;
}
public void setNoKtp(String noKtp) {
this.noKtp = noKtp;
}
}
public class Masyarakat extends Pengguna {
private String noKtp;
public String getNoKtp() {
return noKtp;
}
public void setNoKtp(String noKtp) {
this.noKtp = noKtp;
}
}
Majalah
package project;
import java.util.Date;
public class Majalah extends Koleksi {
private String issn;
private String series;
private int volume;
public static int WAKTU_PINJAM = 3; // static sebagai tanda bahwa waktu_pinjam adalah konstanta
public static int BIAYA_DENDA = 2000;
@Override
public int lamaPinjam() {
return super.lamaPinjam();
}
public int lamaHariTerlambat(Date tanggalKembali) {
Date tanggal_pinjam = super.getTanggalPinjam();
if (isTerlambat(tanggal_pinjam, tanggalKembali)) {
return super.lamaPinjam() - WAKTU_PINJAM;
}
return 0;
}
@Override
public int hitungDenda(Date tanggalKembali) {
Date tanggalPinjaman = super.getTanggalPinjam();
if (isTerlambat(tanggalPinjaman, tanggalKembali)) {
return this.lamaHariTerlambat(tanggalKembali) * BIAYA_DENDA;
}
return 0;
}
@Override
public boolean isTerlambat(Date tanggalPinjam, Date tanggalKembali) {
if (super.lamaPinjam(tanggalPinjam, tanggalKembali) > WAKTU_PINJAM) {
return true;
} else {
return false;
}
}
@Override
public boolean isTerlambat() {
if (isTerlambat(super.getTanggalPinjam(), super.getTanggalKembali())) {
return true;
} else {
return false;
}
}
/**
*
* @return
*/
public String getIssn() {
return issn;
}
/**
*
* @param issn
*/
public void setIssn(String issn) {
this.issn = issn;
}
/**
*
* @return
*/
public String getSeries() {
return series;
}
/**
*
* @param series
*/
public void setSeries(String series) {
this.series = series;
}
/**
*
* @return
*/
public int getVolume() {
return volume;
}
/**
*
* @param volume
*/
public void setVolume(int volume) {
this.volume = volume;
}
}
import java.util.Date;
public class Majalah extends Koleksi {
private String issn;
private String series;
private int volume;
public static int WAKTU_PINJAM = 3; // static sebagai tanda bahwa waktu_pinjam adalah konstanta
public static int BIAYA_DENDA = 2000;
@Override
public int lamaPinjam() {
return super.lamaPinjam();
}
public int lamaHariTerlambat(Date tanggalKembali) {
Date tanggal_pinjam = super.getTanggalPinjam();
if (isTerlambat(tanggal_pinjam, tanggalKembali)) {
return super.lamaPinjam() - WAKTU_PINJAM;
}
return 0;
}
@Override
public int hitungDenda(Date tanggalKembali) {
Date tanggalPinjaman = super.getTanggalPinjam();
if (isTerlambat(tanggalPinjaman, tanggalKembali)) {
return this.lamaHariTerlambat(tanggalKembali) * BIAYA_DENDA;
}
return 0;
}
@Override
public boolean isTerlambat(Date tanggalPinjam, Date tanggalKembali) {
if (super.lamaPinjam(tanggalPinjam, tanggalKembali) > WAKTU_PINJAM) {
return true;
} else {
return false;
}
}
@Override
public boolean isTerlambat() {
if (isTerlambat(super.getTanggalPinjam(), super.getTanggalKembali())) {
return true;
} else {
return false;
}
}
/**
*
* @return
*/
public String getIssn() {
return issn;
}
/**
*
* @param issn
*/
public void setIssn(String issn) {
this.issn = issn;
}
/**
*
* @return
*/
public String getSeries() {
return series;
}
/**
*
* @param series
*/
public void setSeries(String series) {
this.series = series;
}
/**
*
* @return
*/
public int getVolume() {
return volume;
}
/**
*
* @param volume
*/
public void setVolume(int volume) {
this.volume = volume;
}
}
Mahasiswa
package project;
public class Mahasiswa extends Pengguna {
private String nim;
/**
* @return the nim
*/
public String getNim() {
return nim;
}
/**
* @param nim the nim to set
*/
public void setNim(String nim) {
this.nim = nim;
}
}
public class Mahasiswa extends Pengguna {
private String nim;
/**
* @return the nim
*/
public String getNim() {
return nim;
}
/**
* @param nim the nim to set
*/
public void setNim(String nim) {
this.nim = nim;
}
}
Koleksi
package project;
import java.util.Date;
public class Koleksi {
private String id;
private String judul;
private String penerbit;
private int thTerbit;
public Date tanggalPinjam;
public Date tanggalKembali;
// public Koleksi(String judul) {
// this.judul = judul;
// }
/**
* method lamaPinjam, merupakan method yang digunakan untuk menghitung lama pinjam sebuah koleksi dalam hari
* @return
*/
public int lamaPinjam() {
return (int) (getTanggalKembali().getTime() - getTanggalPinjam().getTime()) / (1000 * 60 * 60 * 24); //casting tanggal
}
/**
* method lamaPinjam, merupakan method yang digunakan untuk menghitung lama pinjam sebuah koleksi dalam hari
* @param tanggalPinjam
* @param tanggalKembali
* @return
*/
public int lamaPinjam(Date tanggalPinjam, Date tanggalKembali) {
return (int) ((tanggalKembali.getTime() - tanggalPinjam.getTime()) / (1000 * 60 * 60 * 24));
}
/**
* merupakan method yang digunakan untuk menghitung denda dari koleksi yang dipinjam
* @param tanggalKembali
* @return
*/
public int hitungDenda(Date tanggalKembali) {
return 0;
}
/**
* merthod yang digunakan untuk menghitung jumlah hari terlambat pengembalian sebuah koleksi
* @return
*/
public int jumlahHariTerlambat() {
return 0;
}
/**
* merupakan method terlambat. Jika ada terlambat maka return false
* @return
*/
public boolean isTerlambat() {
return false;
}
/**
* merupakan method terlambat. Jika ada terlambat maka return false
* @param tanggalPinjam
* @param tanggalKembali
* @return
*/
public boolean isTerlambat(Date tanggalPinjam, Date tanggalKembali) {
return false;
}
/**
* merupakan method yang digunakn untuk memanggil id
* @return the id
*/
public String getId() {
return id;
}
/**
* merupakan method yang digunakan untuk mengeset id
* @param id the id to set
*/
public void setId(String id) {
this.id = id;
}
/**
* merupakan method yang digunakan untuk memanggil judul
* @return the judul
*/
public String getJudul() {
return judul;
}
/**
* merupakan method yang digunakan untuk mengeset judul
* @param judul the judul to set
*/
public void setJudul(String judul) {
this.judul = judul;
}
/**
* merupakan method yang digunakan untuk memanggil penerbit
* @return the penerbit
*/
public String getPenerbit() {
return penerbit;
}
/**
* merupakan method yang digunakan untuk mengeset penerbit
* @param penerbit the penerbit to set
*/
public void setPenerbit(String penerbit) {
this.penerbit = penerbit;
}
/**
* merupakan method yang digunakan untuk memanggil tahun terbit
* @return the thTerbit
*/
public int getThTerbit() {
return thTerbit;
}
/**
* merupakan method yang digunakan untuk mengeset tahun terbit
* @param thTerbit the thTerbit to set
*/
public void setThTerbit(int thTerbit) throws Exception {
if (thTerbit < 1900) {
throw new Exception("tahun terbit kurang dari 1900");
}
if (thTerbit < 0) {
throw new Exception("tahun terbit negative");
}
this.thTerbit = thTerbit;
}
/**
* merupakan method yang digunakan untuk memanggil tanggal pinjam
* @return the tanggalPinjam
*/
public Date getTanggalPinjam() {
return tanggalPinjam;
}
/**
* merupakan method yang digunakan untuk mengeset tanggal pinjam
* @param tanggalPinjam the tanggalPinjam to set
*/
public void setTanggalPinjam(Date tanggalPinjam) {
this.tanggalPinjam = tanggalPinjam;
}
/**
* merupakan method yang digunakan untuk memanggil tanggal kembali
* @return the tanggalKembali
*/
public Date getTanggalKembali() {
return tanggalKembali;
}
/**
* merupakan method yang digunakan untuk mengeset tanggal kembali
* @param tanggalKembali the tanggalKembali to set
*/
public void setTanggalKembali(Date tanggalKembali) throws Exception {
if (tanggalPinjam == null) {
//tanggal pinjam kosong
throw new Exception("tanggal pinjam kosong");
} else {
//tanggal pinjam tidak kosong
//cek tanggal kembali sebelum tanggal pinjam atau tidak
if (tanggalKembali.before(tanggalPinjam)) {
throw new Exception("tanggal kembali lebih dulu dari tanggal pinjam");
} else {
//tanggal kembali setelah tanggal pinjam
this.tanggalKembali = tanggalKembali;
}
}
}
}
import java.util.Date;
public class Koleksi {
private String id;
private String judul;
private String penerbit;
private int thTerbit;
public Date tanggalPinjam;
public Date tanggalKembali;
// public Koleksi(String judul) {
// this.judul = judul;
// }
/**
* method lamaPinjam, merupakan method yang digunakan untuk menghitung lama pinjam sebuah koleksi dalam hari
* @return
*/
public int lamaPinjam() {
return (int) (getTanggalKembali().getTime() - getTanggalPinjam().getTime()) / (1000 * 60 * 60 * 24); //casting tanggal
}
/**
* method lamaPinjam, merupakan method yang digunakan untuk menghitung lama pinjam sebuah koleksi dalam hari
* @param tanggalPinjam
* @param tanggalKembali
* @return
*/
public int lamaPinjam(Date tanggalPinjam, Date tanggalKembali) {
return (int) ((tanggalKembali.getTime() - tanggalPinjam.getTime()) / (1000 * 60 * 60 * 24));
}
/**
* merupakan method yang digunakan untuk menghitung denda dari koleksi yang dipinjam
* @param tanggalKembali
* @return
*/
public int hitungDenda(Date tanggalKembali) {
return 0;
}
/**
* merthod yang digunakan untuk menghitung jumlah hari terlambat pengembalian sebuah koleksi
* @return
*/
public int jumlahHariTerlambat() {
return 0;
}
/**
* merupakan method terlambat. Jika ada terlambat maka return false
* @return
*/
public boolean isTerlambat() {
return false;
}
/**
* merupakan method terlambat. Jika ada terlambat maka return false
* @param tanggalPinjam
* @param tanggalKembali
* @return
*/
public boolean isTerlambat(Date tanggalPinjam, Date tanggalKembali) {
return false;
}
/**
* merupakan method yang digunakn untuk memanggil id
* @return the id
*/
public String getId() {
return id;
}
/**
* merupakan method yang digunakan untuk mengeset id
* @param id the id to set
*/
public void setId(String id) {
this.id = id;
}
/**
* merupakan method yang digunakan untuk memanggil judul
* @return the judul
*/
public String getJudul() {
return judul;
}
/**
* merupakan method yang digunakan untuk mengeset judul
* @param judul the judul to set
*/
public void setJudul(String judul) {
this.judul = judul;
}
/**
* merupakan method yang digunakan untuk memanggil penerbit
* @return the penerbit
*/
public String getPenerbit() {
return penerbit;
}
/**
* merupakan method yang digunakan untuk mengeset penerbit
* @param penerbit the penerbit to set
*/
public void setPenerbit(String penerbit) {
this.penerbit = penerbit;
}
/**
* merupakan method yang digunakan untuk memanggil tahun terbit
* @return the thTerbit
*/
public int getThTerbit() {
return thTerbit;
}
/**
* merupakan method yang digunakan untuk mengeset tahun terbit
* @param thTerbit the thTerbit to set
*/
public void setThTerbit(int thTerbit) throws Exception {
if (thTerbit < 1900) {
throw new Exception("tahun terbit kurang dari 1900");
}
if (thTerbit < 0) {
throw new Exception("tahun terbit negative");
}
this.thTerbit = thTerbit;
}
/**
* merupakan method yang digunakan untuk memanggil tanggal pinjam
* @return the tanggalPinjam
*/
public Date getTanggalPinjam() {
return tanggalPinjam;
}
/**
* merupakan method yang digunakan untuk mengeset tanggal pinjam
* @param tanggalPinjam the tanggalPinjam to set
*/
public void setTanggalPinjam(Date tanggalPinjam) {
this.tanggalPinjam = tanggalPinjam;
}
/**
* merupakan method yang digunakan untuk memanggil tanggal kembali
* @return the tanggalKembali
*/
public Date getTanggalKembali() {
return tanggalKembali;
}
/**
* merupakan method yang digunakan untuk mengeset tanggal kembali
* @param tanggalKembali the tanggalKembali to set
*/
public void setTanggalKembali(Date tanggalKembali) throws Exception {
if (tanggalPinjam == null) {
//tanggal pinjam kosong
throw new Exception("tanggal pinjam kosong");
} else {
//tanggal pinjam tidak kosong
//cek tanggal kembali sebelum tanggal pinjam atau tidak
if (tanggalKembali.before(tanggalPinjam)) {
throw new Exception("tanggal kembali lebih dulu dari tanggal pinjam");
} else {
//tanggal kembali setelah tanggal pinjam
this.tanggalKembali = tanggalKembali;
}
}
}
}
Dosen
package project;
public class Dosen extends Pengguna {
private String nip;
public String getNip() {
return nip;
}
public void setNip(String nip) {
this.nip = nip;
}
}
public class Dosen extends Pengguna {
private String nip;
public String getNip() {
return nip;
}
public void setNip(String nip) {
this.nip = nip;
}
}
cddvd
package project;
import java.util.Date;
public class CDDVD extends Koleksi {
private String isbn;
private String format;
public static int WAKTU_PINJAM = 7; // static sebagai tanda bahwa waktu_pinjam adalah konstanta
public static int BIAYA_DENDA = 2000;
@Override
public int lamaPinjam() {
return super.lamaPinjam();
}
public int lamaHariTerlambat(Date tanggalKembali) {
Date tanggal_pinjam = super.getTanggalPinjam();
if (isTerlambat(tanggal_pinjam, tanggalKembali)) {
return super.lamaPinjam() - WAKTU_PINJAM;
}
return 0;
}
@Override
public int hitungDenda(Date tanggalKembali) {
Date tanggalPinjaman = super.getTanggalPinjam();
if (isTerlambat(tanggalPinjaman, tanggalKembali)) {
return this.lamaHariTerlambat(tanggalKembali) * BIAYA_DENDA;
}
return 0;
}
@Override
public boolean isTerlambat(Date tanggalPinjam, Date tanggalKembali) {
if (super.lamaPinjam(tanggalPinjam, tanggalKembali) > WAKTU_PINJAM) {
return true;
} else {
return false;
}
}
@Override
public boolean isTerlambat() {
// if(super.lamaPinjam(super.getTanggalPinjam(), super.getTanggalKembali()) > WAKTU_PINJAM)
if (isTerlambat(super.getTanggalPinjam(), super.getTanggalKembali())) {
return true;
} else {
return false;
}
}
/**
* @return the isbn
*/
public String getIsbn() {
return isbn;
}
/**
* @param isbn the isbn to set
*/
public void setIsbn(String isbn) {
this.isbn = isbn;
}
/**
* @return the format
*/
public String getFormat() {
return format;
}
/**
* @param format the format to set
*/
public void setFormat(String format) {
this.format = format;
}
}
import java.util.Date;
public class CDDVD extends Koleksi {
private String isbn;
private String format;
public static int WAKTU_PINJAM = 7; // static sebagai tanda bahwa waktu_pinjam adalah konstanta
public static int BIAYA_DENDA = 2000;
@Override
public int lamaPinjam() {
return super.lamaPinjam();
}
public int lamaHariTerlambat(Date tanggalKembali) {
Date tanggal_pinjam = super.getTanggalPinjam();
if (isTerlambat(tanggal_pinjam, tanggalKembali)) {
return super.lamaPinjam() - WAKTU_PINJAM;
}
return 0;
}
@Override
public int hitungDenda(Date tanggalKembali) {
Date tanggalPinjaman = super.getTanggalPinjam();
if (isTerlambat(tanggalPinjaman, tanggalKembali)) {
return this.lamaHariTerlambat(tanggalKembali) * BIAYA_DENDA;
}
return 0;
}
@Override
public boolean isTerlambat(Date tanggalPinjam, Date tanggalKembali) {
if (super.lamaPinjam(tanggalPinjam, tanggalKembali) > WAKTU_PINJAM) {
return true;
} else {
return false;
}
}
@Override
public boolean isTerlambat() {
// if(super.lamaPinjam(super.getTanggalPinjam(), super.getTanggalKembali()) > WAKTU_PINJAM)
if (isTerlambat(super.getTanggalPinjam(), super.getTanggalKembali())) {
return true;
} else {
return false;
}
}
/**
* @return the isbn
*/
public String getIsbn() {
return isbn;
}
/**
* @param isbn the isbn to set
*/
public void setIsbn(String isbn) {
this.isbn = isbn;
}
/**
* @return the format
*/
public String getFormat() {
return format;
}
/**
* @param format the format to set
*/
public void setFormat(String format) {
this.format = format;
}
}
Buku_class
package project;
import java.util.Date;
public class Buku extends Koleksi {
private String isbn;
private int jmlHal;
public static int WAKTU_PINJAM = 42; // static sebagai tanda bahwa waktu_pinjam adalah konstanta
public static int BIAYA_DENDA = 500;
/**
* merupakan method yang digunakan untuk menghitung lama pinjam dengan memanggil rumus yang ada di kelas koleksi
* @return
*/
@Override
public int lamaPinjam() {
return super.lamaPinjam();
}
/**
* merupakan method yang digunakan untuk menghitung lama hari terlambat dengan rumus jika ada terlambat maka lama pinjam dikurangi dengan waktu pinjam
* @param tanggalKembali
* @return
*/
public int lamaHariTerlambat(Date tanggalKembali) {
Date tanggal_pinjam = super.getTanggalPinjam();
if (isTerlambat(tanggal_pinjam, tanggalKembali)) {
return super.lamaPinjam(tanggalPinjam, tanggalKembali) - WAKTU_PINJAM;
}
return 0;
}
/**
* merupakan method hitung denda yang digunakan untuk menghitung denda dari setiap buku yang terlambat dengan cara mengalikan lama hari terlambat dengan biaya denda perhari
* @param tanggalKembali
* @return
*/
@Override
public int hitungDenda(Date tanggalKembali) {
Date tanggalPinjaman = super.getTanggalPinjam();
if (isTerlambat(tanggalPinjaman, tanggalKembali)) {
return this.lamaHariTerlambat(tanggalKembali) * BIAYA_DENDA;
}
return 0;
}
/**
* merupakan method is terlambat dengan rumus jika lama pinjam lebih besar dari waktu pinjam maka ada terlambat
* @param tanggalPinjam
* @param tanggalKembali
* @return
*/
@Override
public boolean isTerlambat(Date tanggalPinjam, Date tanggalKembali) {
if (super.lamaPinjam(tanggalPinjam, tanggalKembali) > WAKTU_PINJAM) {
return true;
} else {
return false;
}
}
/**
* merupakan method is terlambat, jika ada terlambat maka return true
* @return
*/
@Override
public boolean isTerlambat() {
if (isTerlambat(super.getTanggalPinjam(), super.getTanggalKembali())) {
return true;
} else {
return false;
}
}
/**
* merupakan method yang digunakan untuk memanggil Isbn
* @return the isbn
*/
public String getIsbn() {
return isbn;
}
/**
* merupakan method yang digunakan untuk mengeset Isbn
* @param isbn the isbn to set
*/
public void setIsbn(String isbn) {
this.isbn = isbn;
}
/**
* merupakan method yang digunakan untuk memanggil jumlah halaman
* @return the jmlHal
*/
public int getJmlHal() {
return jmlHal;
}
/**
* merupakan method yang digunakan untuk mengeset jumlah halaman
* @param jmlHal the jmlHal to set
*/
public void setJmlHal(int jmlHal) {
this.jmlHal = jmlHal;
}
}
import java.util.Date;
public class Buku extends Koleksi {
private String isbn;
private int jmlHal;
public static int WAKTU_PINJAM = 42; // static sebagai tanda bahwa waktu_pinjam adalah konstanta
public static int BIAYA_DENDA = 500;
/**
* merupakan method yang digunakan untuk menghitung lama pinjam dengan memanggil rumus yang ada di kelas koleksi
* @return
*/
@Override
public int lamaPinjam() {
return super.lamaPinjam();
}
/**
* merupakan method yang digunakan untuk menghitung lama hari terlambat dengan rumus jika ada terlambat maka lama pinjam dikurangi dengan waktu pinjam
* @param tanggalKembali
* @return
*/
public int lamaHariTerlambat(Date tanggalKembali) {
Date tanggal_pinjam = super.getTanggalPinjam();
if (isTerlambat(tanggal_pinjam, tanggalKembali)) {
return super.lamaPinjam(tanggalPinjam, tanggalKembali) - WAKTU_PINJAM;
}
return 0;
}
/**
* merupakan method hitung denda yang digunakan untuk menghitung denda dari setiap buku yang terlambat dengan cara mengalikan lama hari terlambat dengan biaya denda perhari
* @param tanggalKembali
* @return
*/
@Override
public int hitungDenda(Date tanggalKembali) {
Date tanggalPinjaman = super.getTanggalPinjam();
if (isTerlambat(tanggalPinjaman, tanggalKembali)) {
return this.lamaHariTerlambat(tanggalKembali) * BIAYA_DENDA;
}
return 0;
}
/**
* merupakan method is terlambat dengan rumus jika lama pinjam lebih besar dari waktu pinjam maka ada terlambat
* @param tanggalPinjam
* @param tanggalKembali
* @return
*/
@Override
public boolean isTerlambat(Date tanggalPinjam, Date tanggalKembali) {
if (super.lamaPinjam(tanggalPinjam, tanggalKembali) > WAKTU_PINJAM) {
return true;
} else {
return false;
}
}
/**
* merupakan method is terlambat, jika ada terlambat maka return true
* @return
*/
@Override
public boolean isTerlambat() {
if (isTerlambat(super.getTanggalPinjam(), super.getTanggalKembali())) {
return true;
} else {
return false;
}
}
/**
* merupakan method yang digunakan untuk memanggil Isbn
* @return the isbn
*/
public String getIsbn() {
return isbn;
}
/**
* merupakan method yang digunakan untuk mengeset Isbn
* @param isbn the isbn to set
*/
public void setIsbn(String isbn) {
this.isbn = isbn;
}
/**
* merupakan method yang digunakan untuk memanggil jumlah halaman
* @return the jmlHal
*/
public int getJmlHal() {
return jmlHal;
}
/**
* merupakan method yang digunakan untuk mengeset jumlah halaman
* @param jmlHal the jmlHal to set
*/
public void setJmlHal(int jmlHal) {
this.jmlHal = jmlHal;
}
}
Pinjam_Dialog
package GUI;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import project.Buku;
import project.Majalah;
public class PinjamDialog extends JDialog implements ActionListener {
JButton pinjam;// membuat atribut pinjam bertipe JButton
JLabel Peminjam, NIM, Nama, Alamat, Koleksi, ID_Koleksi;// membuat atribut JLabel berupa, pinjam, NIM, Nama, Almat, Koleksi, ID_koeksi
JLabel Judul;// membuat atribut Jlabel berupa judul
JTextField nim, nama, alamat, idKoleksi, judul;// membuat atribut JTextField berupa nim, nama, alamat, idKolelsi, judul
JRadioButton buku, majalah;
ButtonGroup group;
// @SuppressWarnings("static-access")
public PinjamDialog(Frame owner) {
super(owner);
this.setLayout(new GridLayout(5, 2)); // digunakan untuk membuat banyak baris,kolom
setTitle("Daftar Pinjaman");//menset judul atau title
setSize(500, 500);// mengatur berapa ukuran kotak yang akan tampil
setLocation(500, 500);// mengatur letak sudut kotak yang akan tampil
setResizable(true);// untuk pengaturan kotak secara paten atau tidak bisa di besar kecilkan oleh user
Peminjam = new JLabel("DATA PEMINJAM");//membuat tampilan jlabel berupa peminjam
NIM = new JLabel("NIM : ");// membuat tampilan jlabel berupa nim
Nama = new JLabel("Nama : ");// membuat tampilan jlabel berupa nama
Alamat = new JLabel("Alamat : ");// membuat tampilan jlabel berupa alamat
Koleksi = new JLabel("DATA KOLEKSI");// membuat tampilan jlabel berupa koleksi
ID_Koleksi = new JLabel("Id Koleksi : ");// membuat tampilan jlabel berupa id koleksi
Judul = new JLabel("Judul Buku : ");// membuat tampilan jlabel berupa judul
nim = new JTextField(30);// membuat JtextField berupa nim
nama = new JTextField(30);// membuat JtextField berupa nama
alamat = new JTextField(30);// membuat JtextField berupa alamat
idKoleksi = new JTextField(30);// membuat JtextField berupa id Koleksi
judul = new JTextField(30);// membuat JtextField berupa judul
buku = new JRadioButton("Buku");
// buku.setBounds(20, 20, 150, 200);
this.add(buku);
majalah = new JRadioButton("majalah");
// majalah.setBounds(20, 40, 150, 200);
this.add(majalah);
group = new ButtonGroup();
group.add(buku);
group.add(majalah);
JPanel panel1 = new JPanel(new FlowLayout());
panel1.add(Peminjam);// membuat panel untuk peminjam
getContentPane().add(panel1);// mengambil nilai content pane dan menmabhkan Jpanel
JPanel panel2 = new JPanel(new GridLayout(3, 2));// membuat ukuran kotak yang akan ditulis
panel2.add(Nama);// menambahkan panel 2 berupa Nama
panel2.add(nama);// menambahkan panel 2 berupa nama
panel2.add(NIM);// menambahkan panel 2 berupa NIM
panel2.add(nim);// menambahkan panel 2 berupa nim
panel2.add(Alamat);// menambahkan panel 2 berupa Alamat
panel2.add(alamat);// // menambahkan panel 2 berupa alamat
getContentPane().add(panel2);
JPanel panel3 = new JPanel(new FlowLayout());
panel3.add(Koleksi);
getContentPane().add(panel3);
JPanel panel4 = new JPanel(new GridLayout(3, 2));// membuat ukuran kotak yang akan di tulis
panel4.add(ID_Koleksi);
panel4.add(idKoleksi);
panel4.add(Judul);
panel4.add(judul);
getContentPane().add(panel4);
pinjam = new JButton("Pinjam");
pinjam.addActionListener(this);
getContentPane().add(pinjam);
}
public void actionCommand(ActionEvent e) throws Exception {
if (group.getSelection()==null){
throw new Exception("belum milih");
}else{
if (buku.isSelected()){
JOptionPane.showMessageDialog(this,"pilih buku");
Buku test = new Buku();
}else if (majalah.isSelected()){
JOptionPane.showMessageDialog(this, "pilih majalah");
Majalah test1 = new Majalah();
}
}
}
@Override
public void actionPerformed(ActionEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import project.Buku;
import project.Majalah;
public class PinjamDialog extends JDialog implements ActionListener {
JButton pinjam;// membuat atribut pinjam bertipe JButton
JLabel Peminjam, NIM, Nama, Alamat, Koleksi, ID_Koleksi;// membuat atribut JLabel berupa, pinjam, NIM, Nama, Almat, Koleksi, ID_koeksi
JLabel Judul;// membuat atribut Jlabel berupa judul
JTextField nim, nama, alamat, idKoleksi, judul;// membuat atribut JTextField berupa nim, nama, alamat, idKolelsi, judul
JRadioButton buku, majalah;
ButtonGroup group;
// @SuppressWarnings("static-access")
public PinjamDialog(Frame owner) {
super(owner);
this.setLayout(new GridLayout(5, 2)); // digunakan untuk membuat banyak baris,kolom
setTitle("Daftar Pinjaman");//menset judul atau title
setSize(500, 500);// mengatur berapa ukuran kotak yang akan tampil
setLocation(500, 500);// mengatur letak sudut kotak yang akan tampil
setResizable(true);// untuk pengaturan kotak secara paten atau tidak bisa di besar kecilkan oleh user
Peminjam = new JLabel("DATA PEMINJAM");//membuat tampilan jlabel berupa peminjam
NIM = new JLabel("NIM : ");// membuat tampilan jlabel berupa nim
Nama = new JLabel("Nama : ");// membuat tampilan jlabel berupa nama
Alamat = new JLabel("Alamat : ");// membuat tampilan jlabel berupa alamat
Koleksi = new JLabel("DATA KOLEKSI");// membuat tampilan jlabel berupa koleksi
ID_Koleksi = new JLabel("Id Koleksi : ");// membuat tampilan jlabel berupa id koleksi
Judul = new JLabel("Judul Buku : ");// membuat tampilan jlabel berupa judul
nim = new JTextField(30);// membuat JtextField berupa nim
nama = new JTextField(30);// membuat JtextField berupa nama
alamat = new JTextField(30);// membuat JtextField berupa alamat
idKoleksi = new JTextField(30);// membuat JtextField berupa id Koleksi
judul = new JTextField(30);// membuat JtextField berupa judul
buku = new JRadioButton("Buku");
// buku.setBounds(20, 20, 150, 200);
this.add(buku);
majalah = new JRadioButton("majalah");
// majalah.setBounds(20, 40, 150, 200);
this.add(majalah);
group = new ButtonGroup();
group.add(buku);
group.add(majalah);
JPanel panel1 = new JPanel(new FlowLayout());
panel1.add(Peminjam);// membuat panel untuk peminjam
getContentPane().add(panel1);// mengambil nilai content pane dan menmabhkan Jpanel
JPanel panel2 = new JPanel(new GridLayout(3, 2));// membuat ukuran kotak yang akan ditulis
panel2.add(Nama);// menambahkan panel 2 berupa Nama
panel2.add(nama);// menambahkan panel 2 berupa nama
panel2.add(NIM);// menambahkan panel 2 berupa NIM
panel2.add(nim);// menambahkan panel 2 berupa nim
panel2.add(Alamat);// menambahkan panel 2 berupa Alamat
panel2.add(alamat);// // menambahkan panel 2 berupa alamat
getContentPane().add(panel2);
JPanel panel3 = new JPanel(new FlowLayout());
panel3.add(Koleksi);
getContentPane().add(panel3);
JPanel panel4 = new JPanel(new GridLayout(3, 2));// membuat ukuran kotak yang akan di tulis
panel4.add(ID_Koleksi);
panel4.add(idKoleksi);
panel4.add(Judul);
panel4.add(judul);
getContentPane().add(panel4);
pinjam = new JButton("Pinjam");
pinjam.addActionListener(this);
getContentPane().add(pinjam);
}
public void actionCommand(ActionEvent e) throws Exception {
if (group.getSelection()==null){
throw new Exception("belum milih");
}else{
if (buku.isSelected()){
JOptionPane.showMessageDialog(this,"pilih buku");
Buku test = new Buku();
}else if (majalah.isSelected()){
JOptionPane.showMessageDialog(this, "pilih majalah");
Majalah test1 = new Majalah();
}
}
}
@Override
public void actionPerformed(ActionEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
Frame main
package GUI;
public class FrameMain {
public static void main(String[] args) {
FramePerpus frame = new FramePerpus();
frame.setVisible(true);
}
}
public class FrameMain {
public static void main(String[] args) {
FramePerpus frame = new FramePerpus();
frame.setVisible(true);
}
}
contoh frame perpus
package GUI;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class FramePerpus extends JFrame implements ActionListener {
JMenu File, Edit, View, Help;//membuat atribut Jmenu berupa file,edit, view, help
JMenuBar bar;//membuat atribut JMenuBar berupa bar
JMenuItem itemNew, itemOpen, itemSave, itemSaveAs, itemQuit;//membuat atribut JMenuItem berupa itemNew, itemOpen,itemSAve dst
public FramePerpus() {
this.setTitle("Perpustakaan Harapan Laris");
setLocation(100, 200); //titik mulai pixel daru GUI
setSize(250, 250);// ukuran kotak yg keluar
setDefaultCloseOperation(EXIT_ON_CLOSE);// menghentingkan jalanya program ketika gui di close
File = new JMenu("File"); //memberi nama menu file pada bar
Edit = new JMenu("Edit"); //memberi nama menu edit pada bar
View = new JMenu("View"); //memberi nama menu view pada bar
Help = new JMenu("Help"); // memberi nama menu help pada bar
bar = new JMenuBar();
this.setJMenuBar(bar); //untuk mengeset menubar
bar.add(File);//menambhakan menu file ke dalam menu bar
bar.add(Edit);// menambahkan menu edit ke dalam menu bar
bar.add(View);// menambahkan menu view ke dalam menu abr
bar.add(Help);// menambahkan menu help ke dalam menu bar
itemNew = new JMenuItem("New"); // mnegeset nama menu item
File.add(itemNew); //memasukkan menu item new kedalam menu
itemOpen = new JMenuItem("Open");
File.add(itemOpen); // memasukan menu item open kdelam menu
itemSave = new JMenuItem("Save");
File.add(itemSave); // memasukan menu item kedalam save
itemSaveAs = new JMenuItem("Save As");
File.add(itemSaveAs);// memasukan menu item save as kedalm menu
File.addSeparator(); // memberi separator
itemQuit = new JMenuItem("Quit");
File.add(itemQuit);// memasukna menu item quit kedalm menu
itemNew.addActionListener(this); //menunjukkan bahwa jika itemNew diklik maka akan melakukan langkah selanjutnya
}
@Override
public void actionPerformed(ActionEvent e) { //merupakan method ActionPerformed dari kelas ActionListener dengan parameter e dengan type data ActionEvent
if (e.getSource() == itemNew) { //jika pengguna mengeklik ItemNew
PinjamDialog dialog = new PinjamDialog(this); //maka akan memanggil dan menjalankan kelas PinjamDialog
dialog.setVisible(true);
} else {
if (e.getSource() == itemQuit) { //jika pengguna menekan pada itemQuit
System.exit(0); // maka akan keluar dari system
}
}
}
}
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class FramePerpus extends JFrame implements ActionListener {
JMenu File, Edit, View, Help;//membuat atribut Jmenu berupa file,edit, view, help
JMenuBar bar;//membuat atribut JMenuBar berupa bar
JMenuItem itemNew, itemOpen, itemSave, itemSaveAs, itemQuit;//membuat atribut JMenuItem berupa itemNew, itemOpen,itemSAve dst
public FramePerpus() {
this.setTitle("Perpustakaan Harapan Laris");
setLocation(100, 200); //titik mulai pixel daru GUI
setSize(250, 250);// ukuran kotak yg keluar
setDefaultCloseOperation(EXIT_ON_CLOSE);// menghentingkan jalanya program ketika gui di close
File = new JMenu("File"); //memberi nama menu file pada bar
Edit = new JMenu("Edit"); //memberi nama menu edit pada bar
View = new JMenu("View"); //memberi nama menu view pada bar
Help = new JMenu("Help"); // memberi nama menu help pada bar
bar = new JMenuBar();
this.setJMenuBar(bar); //untuk mengeset menubar
bar.add(File);//menambhakan menu file ke dalam menu bar
bar.add(Edit);// menambahkan menu edit ke dalam menu bar
bar.add(View);// menambahkan menu view ke dalam menu abr
bar.add(Help);// menambahkan menu help ke dalam menu bar
itemNew = new JMenuItem("New"); // mnegeset nama menu item
File.add(itemNew); //memasukkan menu item new kedalam menu
itemOpen = new JMenuItem("Open");
File.add(itemOpen); // memasukan menu item open kdelam menu
itemSave = new JMenuItem("Save");
File.add(itemSave); // memasukan menu item kedalam save
itemSaveAs = new JMenuItem("Save As");
File.add(itemSaveAs);// memasukan menu item save as kedalm menu
File.addSeparator(); // memberi separator
itemQuit = new JMenuItem("Quit");
File.add(itemQuit);// memasukna menu item quit kedalm menu
itemNew.addActionListener(this); //menunjukkan bahwa jika itemNew diklik maka akan melakukan langkah selanjutnya
}
@Override
public void actionPerformed(ActionEvent e) { //merupakan method ActionPerformed dari kelas ActionListener dengan parameter e dengan type data ActionEvent
if (e.getSource() == itemNew) { //jika pengguna mengeklik ItemNew
PinjamDialog dialog = new PinjamDialog(this); //maka akan memanggil dan menjalankan kelas PinjamDialog
dialog.setVisible(true);
} else {
if (e.getSource() == itemQuit) { //jika pengguna menekan pada itemQuit
System.exit(0); // maka akan keluar dari system
}
}
}
}
Subscribe to:
Comments (Atom)