Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 537
  • Last Modified:

Java Project

I am looking to get more versed in Java, so I am asking for someone to help me find a good project for me to do to get more well versed with swing, or applets..... I want to get more versed with the controls, and events of the controls.

I want something that I can accomplish, and has a valid use, not just "Hello World" crap, or BS apps. I want to feel comfortable going into an interview and say, yes I am comfortable with Java.

I am a Microsoft developer with some ANSI C, and a littel Java experience. I have a Java book, and some tutorials, all I need is some ideas of projects I can do to help me get more confortable with java.

thanks
berg
0
berg1375
Asked:
berg1375
  • 6
  • 5
  • 4
  • +4
1 Solution
 
ccaprarCommented:
Try writing a text editor application in Java, with Search capabilities, etc.

Another nice project would be to write a java application for accesing an Address Book in a database. This would involve also JDBC, and a lot of GUI stuff.

If you would like then to go for applets, just try to make the Address Book application web oriented, meaning applets and HTML on the client side ( browser ) and JSP/EJB/servlets on the server side. If you finish doing this, you will be quite versed with Java :)

Regards, Cri
0
 
berg1375Author Commented:
These are good suggestions, but I would like to keep the question open for other input.

Thanks
berg
0
 
ccaprarCommented:
no problem :) hope you'll find a suited project
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
CalronCommented:
A good project that is challenging on building a nice GUI would be an FTP-Client program. This would also include some socket stuff, etc.
0
 
ozymandiasCommented:
How about a POP3 client.
If you make something functional that you will actaully use there is a lot more incentive to keep at it and make it work well.

A good book is Java - Annotated Archives by Naba Barkakatipublished by Osborne ISBN 0-07-211902-0.

It is basically a book and CD containing a good set of example applications from simple web tickers to three-tiered client server applications, all full annotated with discussions about the techniques used etc.

You could pick a similar type of project to one of these and then refer to the annotaions and code if you get stuck.
0
 
berg1375Author Commented:
Very good recommendations. I will be doing this mainly at home, so I need a project that I can do frm home with no network.

Ozy, can you elaborate on this a little more?

Points will be handed out to all projects I use, not just one.
0
 
doronbCommented:
Hi berq1375,


How about a game written in Java? :) It could be a strategy game (probably turn-based) or even an RPG or RTS.. of course you could develope a game server and applet clients if you so wish...


Doron
0
 
berg1375Author Commented:
You know, all these sound like such good ideas, but remember:

I have had limited exposure to Java. To this date, I have created simple applets to get used to the syntax, and most of it has been retyping source code. I did make an applet that uses JDBC a year ago, and is an adhoc query agent, but I can not remember where it is.

As far as applets and servlets and web goes, it is all greek to me. I am trying to learn Java in a business aspect, so I can make myself more marketable. I can then move onto graphics, or jsp, or network applications. As for now, I just want to get used to the functionality of Java by creating a mild usable, and even expandable program. I can only learn so much by retyping source code, so I want to actually write somthing.

thanks
berg
0
 
ozymandiasCommented:
You would not necessarily need a network.
I seem to remember that the POP3 example in the book has both the POP3 server and client. You could always download a free POP3 server if you wanted.

doronb's idea of a game is also a good one.
Start simple with a game where a user has to navigate round a maze. Then use those ideas to gradually build up so the user has to navigate round other enviroments like a dungeon etc.

Another way to decide what to do is to choose a particular set of classes you want to learn and let the classes dictate the kind of program you will write.

One of the first Swing apps I wrote was a program for managing my MP3 files.

First I wrote reusable file readers to read and write the MP3 tag information.

Then a type of TableModel that had vectors of MP3 tag data built from the reader classes. Then a JTable that could display the tag data and transmit changes back to the model which could write the changes back to the files etc. Then a JTree that could display artist nodes which had album child nodes which had track child nodes etc. Finally I put all the components together in a frame a bit like a windows explorer type of thing.

When I look back on it now it seems a bit poor but I remember it being very exciting at the time.
0
 
bobbit31Commented:
the project i did to get a little better with java was coding a robust chat program (both client applet and server)

the functionality included:
multiple rooms
room creation
ignore list
private message
color config

i can't remember them all but it's a good project b/c you can work with applets and standalone java applications.  You also work with sockets.  It's also not that hard so it won't take you forever to do but you'll learn a lot from it (at least i did)

0
 
bobbit31Commented:
also, you do not need to have a network to do the above.
0
 
clim1219Commented:
Hi berg,

Try to visit www.sourceforge.net. There are a lot of open source projects there.

Regards
clim1219

0
 
berg1375Author Commented:
Alright, I think that I will be doing the game, and a POP3 project.

doronb/ozy-

Can you two give me a more detailed description of the projects? I do not want source code. I would like maybe a game plan since I am new to this type of development. Some hints to packages or classes, maybe layouts, or diagram the steps(not too detailed). Enough that I will be able to develop these with minimal grey hair, but not too much that I will not have to think. I will then dispense points.
0
 
ozymandiasCommented:
The best thing to do is to write a POP3 client and test it against your normal internet mail account which will probably be on a POP3-compliant mail server. All you need is the address of the server, the port used by POP3 (normally 110 I think), the username you use and your pasword.

The packages you will be using are swing (assuming you will write a swing GUI) and java.io and java.net. The comms stuff is all socket programming. (Read the Java Tutorial on Socket programming.) Basically it's something  like :

  Socket socket = new Socket(server,port);
  BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));

This establishes your connection.

Once you have created the sockets and associated readers and writers for them look at the RFC for POP3 (RFC 1939).

Basically you send POP3 protocol requests over your socket connection and listen for responses.

You send :

  USER [username]
  PASS [password]

to logon, then :

  STAT

to get a list of all messages and the total bytes, then

  LIST

to get a list of all messages with indivdual lengths, then

  RETR n

to retrieve message number n from the LIST, then

  QUIT

to end you session.

What you need to think about is how to parse the data into individiual messages. You could create a MailMessage object and store it in an array or Vector.

I would start with the socket programming and write a command line utility to test it. Something simple, like logon and retrieve and print out a list of messages. Just the headers or subjects or something.

Once you have finished that package it up as your communications class with a public method like getMessages() or something that returns a Vector of MailMessage objects. Then write the GUI to display some kind of inbox.

Once you are happy with that you need to think about an outbox and a message editor GUI to add to it. You will need to revisit your comms package to add a sendMessage(MailMessage message) method and the underlying implementation. It will be the same kind of code except a different "conversation" using SMTP (port 25, see the RFC for this also.)

I hope this is a good start for you.
Let me know if you have an more specific questions.
0
 
berg1375Author Commented:
Sounds like a good challenge and learing experience.

As soon as I get a response about the game I will award points.
0
 
doronbCommented:
Hi berq,


I've thought about the game scenario, what I've come up with is this:

How about writing a framework for building adventure games.. Basically you'd start out with a game engine that could handle maps, locations, rooms, items, player directions and stuff like that.. Over the engine you'd add a UI layer, first it'd be a text UI layer like in the old style adventure games (e.g. Zork and other Infocom games) after the text UI is finished to your content you could move on to a 2D GUI layer with AWT/Swing and when that's done, how about a Java 3D interface? >:)

One of the challanges is to build a robust game engine that would not have to change as you develope different GUI/UI layers. This goal is ambitious and enhanced with being able to run the games on any java supportive platform will enable you to write an adventure once and run it on ANY java support platform with any GUI/UI possible, from text to 2D to 3D on the best machines :) and if that's not worth while (especially to companies writing adventure games) tell me what is?!

I hope this helps a bit and of course I'm willing to describe more of the game 'engine' objects and other concepts if you'd want to work on this..


Doron
0
 
doronbCommented:
Hi again,


I just thought I'd direct you to an example..

http://www.avalon-rpg.com/javalon/create.html?bounty=ref+nxn.netgate.net%2Fgames2_XjavaX.html

Try the above URL and register to play an adventure game with a text UI..


Doron
0
 
doronbCommented:
Hi again, :)


Oh.. and also, I've found this..

http://java.indy3d.net/

It's a game engine for graphic adventure type..


Doron
0
 
berg1375Author Commented:
That is great. Can you give me some more insight into the game engine? I will need some specifics, so I can start on this soon.

I will be posting a Q for you to claim your points.
0
 
ozymandiasCommented:
doronb, just had a look at the Indy3d site.

Excellent !

I remember playing Indiana Jones and The Lost City of Atlantis on the PC years ago. I think there was another one too.

Very cool....very retro...
0
 
doronbCommented:
Hi berg, {finally I saw it's NOT a Q at the end of your nick but a G :)}


I'll try to give some more suggestions about the game engine soon... (currently swamped with Java work!)


Doron
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 6
  • 5
  • 4
  • +4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now