Swing event departure board

Sitting at Gard du Nord train station in Paris in January this year i saw this huge departure board:

Gare_du_Nord_Paris.jpg

It was fascinating to see and hear all these flipping characters everytime a departure time changed. I guess most of you know already how these boards work but for all others i will explain it shortly.

The arriving trains are in chronological order from top to bottom of the board which means the trains that arrives as next stays on top of the board.
The flipping characters are made of little metal plates that are printed on the front and backside with characters that are split into half. The Top part of the character is printed on the frontside of the upper plate and the bottom part of the character is printed on the backside of the lower plate (i tried to visualize it with a little image). weiterlesen

 

Swing Weather Worldclock

Remember the worldclock blogpost? Well it was ok but i thought there was one thing missing…

Weather information

For that reason i added this missing feature to the known worldclock component so that you now might choose out of four clocks:

  • Pure clock and icon indicator for time of day
  • Pure clock, icon indicator for time of day and weather information
  • Clock with inbuild time of day display
  • Clock with inbuild time of day display and weather information

This image shows all available clocks:

ishot-6.png

To get the weather information for all the cities in the enum i provide, i needed to add the country for each city and by adding all these countries i translated the cities to their (hopefully) right english names (in the original worldclock post i used german city names).

I use weather underground to retrieve the weather information because they provide an easy to access service for free. You will find a package called „net“ in the project in which i put the classes responsible for fetching the weather condition. There is timer which checks every 30 seconds for the availability of the connection.
The clockpanels will every 10 minutes add a so called ConditionFetcher thread to the queue of the WeatherService which will be handled by a ExecutorService. The WeatherService will tries to use the system proxy server if there is one so it hopefuly works out for you.

The most of the work was done by creating all the different weather condition images which you will see in the next image:

ishot-7.png

weiterlesen

 

24.03. – Java Stammtisch Münster

Am 24.03. gibt es wieder den Stammtisch der Java User Group Münster! Ein Angebot für alle an Java, Softwareentwicklung und aktuellen Trends interessierte Personen – auch PHP, Ruby on Rails Entwickler sind natürlich willkommen!

Der Java Treff für Münster, Osnabrück und Umgebung findet am Mittwoch dem 24.03. ab ca. 18:30 Uhr im Cuba Nova statt. Das Cuba Nova befindets ich in der Achtermannstrasse in der Nähe vom Hauptbahnhof. (3 Minuten zu Fuß, wenn man langsam geht.).

 

JAX Konferenz 2010

Auch 2010 findet wieder die JAX Konferenz statt. Die JAX richtet sich an Softwareentwickler aus dem Web- und (Java) Enterprise Umfeld in ganz Europa.
Trotz der europäischen Ausrichtung werden viele Vorträge auf Deutsch gehalten, und finden damit sicherlich regen Zuspruch von Entwicklern, die Vorträge in Deutsch bevorzugen.

Neben den obligatorischen Technologievorstellungen bietet die JAX eine umfangreiche Mischung von Themen rund um Softwareentwicklung. So darf „agile“ nicht fehlen, Sicherheit von Web Anwendungen, Skalierung, und nicht zuletzt der Trend zum polyglotten Entwickler dank Groovy, jRuby und Clojure.

Die JAX findet im Mai 2010 in Mainz statt, weitere Informationen und Rabattaktionen finden sich auf http://www.jaxcenter.de/

Wer Interesse hat, die JAX zu besuchen und das gerne mit anderen Teilnehmern der JUG Münster tun möchte, kann hier einen Kommentar hinterlassen, oder uns gerne auf einem der nächsten Events ansprechen.

 

Vorbereitung Java Zertifizierung

Für alle Interessierten, und insbesondere Schüler/Studenten, die die Möglichkeit einer kostengünstigen Java Zertifizierung haben, bieten wir Unterstützung bei der Vorbereitung zur SCJA/SCJP Java Zertifizierung.
Termine und weitere Koordination findet derzeit bei uns im Wiki statt:
http://wiki.jug-muenster.de/display/pub/SCJP+Zertifizierung

Update: Der Termin für die Vorsprechung der Lerngruppe :

23. März um 18 Uhr (für Studenten: 17:45 Uhr)
Wir treffen uns an dem Mathematik Institut (Einsteinstraße 62). Dort besprechen wir dann das weitere Vorgehen sowie die zukünftigen Termine. Ein erscheinen zur Vorbesprechung ist für die Teilnahme an der Lerngruppe nicht zwingend erforderlich. Jeder der Lust hat, ist herzlich eingeladen.

Studentenangebot: Wer sicher gehen will und Geld sparen möchte, sollte sich schon jetzt einen Voucher sichern. Alle weiteren Infos findet ihr in unserem Wiki.

Update 2:

Wir treffen uns ab nächster Woche Montag (29.03.) wöchentlich um 16 Uhr für vorraussichtlich 4 bis 6 Wochen als SCJP Lerngruppe. Treffpunkt Mathematik Institut (Einsteinstraße 62), Raum N18/19. Jeder, der mitmachen will, ist herzlich eingeladen.

Vergesst nicht, euch am besten jetzt noch den Voucher zu sichern! Alles weitere dazu und zu der Lerngruppe findet ihr im Wiki.

 

10.3. – Java Stammtisch Münster

Am 10.3. gibt es wieder den Stammtisch der Java User Group Münster! Ein Angebot für alle an Java, Softwareentwicklung und aktuellen Trends interessierte Personen – auch PHP, Ruby on Rails Entwickler sind natürlich willkommen!

Der Java Treff für Münster, Osnabrück und Umgebung findet am Mittwoch dem 10.03. ab ca. 18:30 Uhr im Cuba Nova statt. Das Cuba Nova befindets ich in der Achtermannstrasse in der Nähe vom Hauptbahnhof. (3 Minuten zu Fuß, wenn man langsam geht.). weiterlesen

 

Java Treff: Stammtisch am 10.2.

Am 10.2. gibt es wieder den offenen Stammtisch der Java User Group Münster! Für alle an Java, Softwareentwicklung und aktuellen Trends interessierte Personen – auch PHP, Ruby on Rails Entwickler sind natürlich willkommen!

Der Java Treff für Münster, Osnabrück und Umgebung findet am Mittwoch dem 10.02. ab ca. 18:30 Uhr im Cuba Nova statt. Das Cuba Nova befindets ich in der Achtermannstrasse in der Nähe vom Hauptbahnhof. (3 Minuten zu Fuß, wenn man langsam geht.). weiterlesen

 

Drawing in code (Part 2)

Drawing in code:

Part 2 (Transfer the prototype into swing):

So you will find out that this is not magic but only drawing the same elements that we used in the vector drawing programm but now in their Java2D representations. We just create a buffered image with the same size as the prototype. So we could use the same pixelcoordinates for the shapes and gradients in swing.
weiterlesen

 

Drawing in code (Part 1)

Drawing in code:

Part 1 (Drawing the prototype):

After i published my little fun swing nixieclock i got a lot of requests on how i transferred the image into swing.
Because i remember when i was starting swing development i asked myself the same questions when i saw the amazing work of swing/design guru’s like Kirill Grouchnikov, Romain Guy, Joshua Marinacci, Chet Haase, and others.
Well in the meantime i figured out how to do this and find a workflow that i would like to share here. By the way this is really nothing compared to the things these swing/design guru’s are able to do.

So here we go, first of all i have one good advice for you „Know your tools“,
which means not only java and swing but also your graphics program.

So i’m using Adobe Fireworks for that but you could also use any other kind of graphics program like Adobe Photoshop, Gimp, Inkscape etc.

I will start the tutorial with the drawing of the tube in Adobe Fireworks because it makes coding in swing so much easier if you know how to draw it in a graphics program. So the first part will be focussed on the drawing and the second part will explain how to draw all the different points in java2d/swing: weiterlesen