tags:

views:

138

answers:

7

Hi I been learning java swing programming lately and I am thinking of building a java swing app myself.

But however I can't really think of any app that is worth building as a desktop app rather than a web app.

Anyone have any suggestion on desktop app that I can develop for learning purpose?

+2  A: 

Anything that deals with your computer specifically is a good candidate for a desktop app. A typical file system browser with expanding directories is a good one. Especially if it can search on wildcarded filenames.

Tony Ennis
+1  A: 

I wrote a little C# console app that zips my local personal repository up and sends it to one of my servers via FTP everyday. Not very hard, and keeps my code backed-up off-site daily.

cinqoTimo
+2  A: 

I find notifier applications are pretty good candidates for desktop apps. Something like a twitter notifier, that let's you know when a new message has arrived. Like Gmail notifier.

Codemwnci
+4  A: 

You can write a Diary application. Whose functionalities include:-

  1. Writing the daily diary and saving it which must be searchable via data/keywords(Basic function)

  2. Contacts with basic information about the person.

  3. Give a feature to export your matter to a suitable file format, say doc.

  4. Of course, login with password for different users, you can use file systems to store the data(but in encrypted format).

This will be a good application to start with. :)

JavaGeek
+2  A: 

Well, it really depends on what you want to learn. When I first encountered Java, I developed Tetris in it. The advantages of games like these are simple:

  • Small, easy to understand goal
  • You can extend it in endless way (to learn what you want to learn about, examples at the bottom)
  • Require a lot of different tools/libraries to accomplish
  • They are generally more fun than desktop applications, unless you find something that is actually something you will use (if you have such an idea, go for it)

In Tetris I used basic swing components for Menubar and such, Graphics2D for drawing, event handling (mostly keyboard events and game events), probably a bunch more but I can't remember. And of course involves really nice, simple to difficult challenges for OO design.

I was pretty happy with it and extended it to have a score board (file access or however you solve that)

2-Player mode on same screen, to see how my design could handle it

Networking, same as above, but over internet

I also developed a minesweeper clone shortly after that and I still play it regularly (after 6 years and I'm quite proud of it), it simply better than minesweeper classic :)

After that you have a rather broad and not very good understanding (most likely), but it's a great starting point to dive deeper into what you learned. Worked great for me at least.

SemanticTom
+1  A: 

If you've learn swing recently, I suppose you learnt java/OOP before. You may have developed an application then. In this case, simply create an UI for your previous application.

Colin Hebert
A: 

You could make an application that has good logic, can be expanded upon (trust me, you tend to treat your program like your child after some time). Also you should try to incorporate many swing elements, such as joists in a jscrollpane, obviously buttons etc. Um, comboboxes,text fields, tabbedpanes. You definitely can't use all in one program.

As for ideas, maybe a home management app. You can make a grocery list and also manages expenses (two tabs in tabbed pane). Different expense tags (combobox) and so on.

somanys21