سلام شباب ،
مشروع المفروض اسويه ، بس مو راضي يزبط معي
نبي فزعتكم فيها
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
public class LibrarySystem extends JFrame{
private JMenuBar menubar= new JMenuBar();
private JMenu books = new JMenu("Books");
private JMenuItem addBook, listAll,listAvailable,listBorrowed;
private JMenu members = new JMenu("Members");
private JMenuItem addMember, removeM,listAllM;
private JMenu loan = new JMenu("Loan");
private JMenuItem loanB, returnB;
public LibrarySystem(){
super("Welcome to Library!");
setSize(400,300);
final Book[] booksA = new Book[1000];
setJMenuBar(menubar);
menubar.add(books);
books.setMnemonic('B');
addBook= new JMenuItem("Add a new Book");
addBook.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev){
JPanel p1= new JPanel();
JPanel p2 = new JPanel();
JPanel p3= new JPanel();
JPanel p4= new JPanel();
JFrame addf= new JFrame("Adding book");
Container addc= addf.getContentPane();
addc.setLayout(new GridLayout(4,2,1,1));
final JTextField txt1=new JTextField(20);
final JTextField txt2=new JTextField(20);
final JTextField txt3=new JTextField(20);
final JButton ok= new JButton("OK");
p1.add(new JLabel("Book Number "));
p1.add(txt1);
p2.add(new JLabel("Book Auther "));
p2.add(txt2);
p3.add(new JLabel("Book Title "));
p3.add(txt3);
ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev){
if(search(booksA ,txt1.getText())>=0){
JFrame exists = new JFrame();
JLabel sorry = new JLabel("Sorry, a book with the same number exists");
JButton ok2 = new JButton("OK");
exists.add(sorry);
exists.add(ok2);
exists.show();
ok2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
System.exit(0);
}
});
}
}});
p4.add(ok);
addc.add(p1);
addc.add(p2);
addc.add(p3);
addc.add(p4);
//addc.add(ok);
addf.setSize(400,200);
addf.show();
}
});
books.add(addBook);
listAll= new JMenuItem("List All Books");
listAll.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Book[] bookAll = readBooks();
JFrame allF=new JFrame();
Container c2= allF.getContentPane();
JPanel p = new JPanel();
p.setLayout(new GridLayout(bookAll.length-1,1));
for(int n=0 ; n JLabel label1= new JLabel(bookAll[n].toString2());
p.add(label1);
}
allF.setSize(200,600);
allF.show();}});
books.add(listAll);
books.add(listAvailable = new JMenuItem("List Available Books"));;
books.add(listBorrowed = new JMenuItem("List Borrowed Books"));
menubar.add(members);
members.setMnemonic('M');
addMember = new JMenuItem("Add new memeber");
members.add(addMember);
members.add(removeM = new JMenuItem("Remove a Member"));
members.add(listAllM = new JMenuItem("List All Members"));
menubar.add(loan);
loan.setMnemonic('L');
loan.add(loanB = new JMenuItem("Loan a Book"));
loan.add(returnB = new JMenuItem("Return a Book"));
addMember.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
JPanel p1= new JPanel();
JPanel p2 = new JPanel();
JPanel p3= new JPanel();
JPanel p4= new JPanel();
JFrame addf= new JFrame("Adding Members");
Container addc= addf.getContentPane();
addc.setLayout(new GridLayout(4,2,1,1));
final JTextField txt1=new JTextField(20);
final JTextField txt2=new JTextField(20);
final JButton ok= new JButton("OK");
p1.add(new JLabel("ID Number "));
p1.add(txt1);
p2.add(new JLabel(" Members's Name "));
p2.add(txt2);
p4.add(ok);
addc.add(p1);
addc.add(p2);
addc.add(p3);
addc.add(p4);
addf.setSize(400,200);
addf.show();
}
});
// members.add(addMember);
show();
}
public static void main (String[] args){
new LibrarySystem();
}
public int search(Book[] a,String n){
return binarySearch(a,0,a.length-1,n);
}
public static int binarySearch(Book[] a, int from, int to , String n){
if(from>to) return -1;
int mid= (from+to)/2;
int diff= n.compareTo(a[mid].getBookNumber());
if(diff==0) return mid;
else if(diff<0) return binarySearch(a,mid+1,to,n);
else return binarySearch(a,from,mid-1,n);
}
public static Book[] readBooks(){
Book[] books = null;
try{
BufferedReader bookCount=new BufferedReader(new FileReader("books.txt"));
int numberOfBooks =0;
String s="";
while(bookCount.read()!=-1){
numberOfBooks=0;
s=bookCount.readLine();
}
BufferedReader bookReader =new BufferedReader(new FileReader("courses.txt"));
books = new Book[numberOfBooks];
int n =0 ;
String book="",bookNum,bookTitle,bookAuthor,bookBorower;
boolean borrowed1;
StringTokenizer bookTok;
while(bookReader.read() !=-1){
book = bookReader.readLine();
bookTok = new StringTokenizer(book,"#");
bookNum = bookTok.nextToken();
bookAuthor = bookTok.nextToken();
bookTitle = bookTok.nextToken();
if(Integer.parseInt(bookTok.nextToken())==1) borrowed1 = true;
else borrowed1 = false;
bookBorower = bookTok.nextToken();
books[n]= new Book(bookNum,bookAuthor , bookTitle , borrowed1, bookBorower);
n++;
}
}catch(FileNotFoundException e){}catch(IOException e){}
return books;
}
}
الملف المرفق في الكلاسات و التست نفسه ، و ملف التكست ريدينق
:confused: :confused: :confused: