I just ran a slightly modified version of your code and it returned all the items. I did find that the object reader did not return the list as an ArrayList<Book> (maybe my mistake) so had to modify the foreach to accept a List of objects and cast each one to a Book.
A slight modification shows that your code should work fine, and return the full list.
if(e.getSource() == btn) //add Book
String title = txtFieldTitle.getText();
book aBok = new book(title, anAuthor , thePrice);
aList = new ArrayList<book>();
}//if source btn end
Every time you add a book you create a new ArrayList<book>(), so you are losing the previous books. You need to create your list at the beginning of the program and add to that as you enter more books.
Sorry, I misunderstood, as the word "upgrade" has a slightly different meaning. If you open any message and move your mouse just to the left of the text near the top, you should see two coloured arrows. A green one pointing up, and a red one pointing down. Click the green one to upvote the message, or the red one to downvote (means you think it is not a good message).
As to your other problem, I think we need to see the code, so I suggest you open a new question.
Whoa! before i thought i know Java but when i saw your code about serialization i realized i need to study more. I have never come across it. may be because I am just at intermediate level. your organization of class is what so much impress me about your codes. thank you so much. I wish I can get the complete source code for this.
The app needs to have drag and drop function to build tool with workflow like visio for business users. Easy access for members via web or mobile devices. Internet may not available but mobile can sync data when internet is available.
I'm setting up new application with the following architecture, so need your advice.
html5+JS on frontend on web, and swift on mobile.
Java - MVC webservices provide for both web and mobile front end.
bigdata on the back end.
you know any code generation should be used for Java?
Looking at the headers is the only way to do this.
However, bear in mind that the headers can easily be spoofed. Each server in the chain adds it's own Received header to indicate which computer it received the message from, but it has no way to verify the previous Received headers. As you trace the path back from your server to the sender, once you get beyond the servers that you trust, the headers could be entirely fictitious.
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer