Netzperlen vom 29.08.2010
Posted 29.08.2010 09:00 by Christian
Capoeira vs. Kickboxing
The beauty of data visualization
Angular, ganz interessant was sich Google immer ausdenkt.
Gwt UiBinder mit Java 1.5 verwenden
Posted 24.08.2010 20:15 by Christian
Seit neuestem verwende ich den UiBinder von GWT um deklarativ das Layout der GWT-Seiten zu beschreiben. Das funktioniert soweit auch ganz gut und hält vor allem den Quellcode sauber.
Nun, bin ich aber aufgrund von diversen Rahmenbedingen dazu gezwungen eine etwas ältere Version von Java zu benutzen. Nämlich Java 1.5. Normales GWT funktioniert damit auch ohne Probleme. Allerdings seitdem ich den UiBinder verwende bekomme ich immer folgende Exception:
java.lang.VerifyError: (class: com/google/gwt/core/client/Scheduler, method:
Irgendwie kommt also der UiBinder von GWT nicht mit Java 1.5 zurecht. Zum Glück gibt es dafür einen Workaround. Im EntryPoint eurer Applikation muss ein DeferredCommand benutzt werden um Methoden auf dem RootPanel aufzurufen. Wird das DefferedCommand eingesetzt, funktioniert der UiBinder auch mit Java 1.5.
Das ganze sieht dann in etwa so aus:
Java
- public class TestUiBinderGwt implements EntryPoint {
- public void onModuleLoad() {
- DeferredCommand.addCommand(new Command() {
- public void execute() {
- start();
- }
- });
- }
- private void start() {
- //put your code here
- RootPanel.get().add(new TestPage());
- }
- }
Netzperlen vom 22.08.2010
Posted 22.08.2010 09:00 by Christian
Meet the Australien Submarine.
Lol

YouTube BestOf - Awesome Videos
Posted 19.08.2010 19:00 by Christian
Hier mal eine kleine Auswahl an YouTube-Videos die ich in den letzten Tagen konsumiert habe. Ich fand einige ganz witzig, deswegen möchte ich die hier auch zeigen.
Awesome Yoyo
Porsche 918 Spyder
BMW Art Car
Omfg wer braucht denn so ein scharfes Schwert?
Java InstanceOf mit Objekten verwenden
Posted 18.08.2010 20:34 by Christian
Heute hatte ich ein kleines Java Problem. Stellt euch mal vor ihr habt 3 Klassen. Eine abstrakte Klasse Planet, die nur eine Methode besitzt.
Dann gibt es 2 konkrete Klassen Mars und Venus. Die konkreten Klassen sollen mittels der Methode getImplClazz() die Klasse angeben welche zur Implementierung genutzt werden soll. Im Beispiel verweisen die Klassen immer auf sich selbst, es könnten hier aber im Prinzip beliebige Klassen zurückgegeben werden.
Java
- public abstract class Planet {
- protected abstract Class getImplClazz();
- }
- public class Venus extends Planet {
- public Class getImplClazz() {
- return Venus.class;
- }
- }
- public class Mars extends Planet {
- @Override
- protected Class getImplClazz() {
- return Mars.class;
- }
- }
Nun werden die Klassen instanziiert und ihr möchtet testen ob ein Objekt vom Typ Venus oder Mars ist.
Man sollte meinen, dies geht mittels instanceOf(). Es kommt aber zu einem Compilerfehler bei der Prüfung.
Java
- public static void main(String[] args) {
- Planet mars = new Mars();
- Planet venus = new Venus();
- if(mars instanceof venus.getImplClazz()) { //Compilerfehler
- }
- }
Warum ist das so?
Der Trick ist, dass hier nicht instanceOf() verwendet werden darf, da instanceOf() nur mit referenzierten Typen arbeitet, nicht jedoch mit Objekten.
Wie lässt sich das Problem beheben?
Ganz einfach, es muss die Methode isInstance() auf die Klasse angewendet werden.
Java
- public static void main(String[] args) {
- Planet mars = new Mars();
- Planet venus = new Venus();
- if(venus.getImplClazz().isInstance(mars)) { //OK
- }
- }
Ich hoffe dieses kleine Lösung hilft dem ein oder anderen, die vielleicht mal auf dieses Problem stoßen.
Previous