tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
260
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    DarthShader DarthShader ist offline Mitglied Platin
    Registriert seit
    May 2004
    Beiträge
    684
    Hallo,

    ich habe eine eigene Annotation, in dem ich einen event Type als Parameter setzen möchte. Das ganze sieht so aus:

    Code java:
    1
    2
    3
    4
    5
    6
    
    @Target( ElementType.METHOD )
    @Retention( RetentionPolicy.RUNTIME )
    public @interface MyAnnotation
    {
        Class< ? extends UIEvent > eventType() default MouseReleasedEvent.class;
    }

    Dabei ist zu beachten, dass "MouseReleasedEvent" von "SwingEvent" erbt, und "SwingEvent" erbt von "UIEvent", also:

    Code :
    1
    2
    3
    4
    
    EventObject
      UIEvent
        SwingEvent
          MouseReleasedEvent

    Es wird dieser Compilerfehler angezeigt:

    Code java:
    1
    
    Type mismatch: cannot convert from Class<MouseReleasedEvent> to Class<? extends UIEvent>

    Wenn ich das "default MouseReleasedEvent.class" entferne, so kompiliert der Code.

    Ich hatte jetzt naiverweise gedacht, dass ich den Typ so beschränken kann, dass eben nur "UIEvent"s und davon abgeleitete Klassen zurückgegeben/gesetzt werden können.


    Kann mir jemand erklären, warum die obige Fehlermeldung auftaucht?


    Vielen Dank für Eure Hilfe!
     

  2. #2
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Der erste Teil stimmt auch, zumindest wenn man den Tutorials im Internet glaubt. Was ich bis jetzt noch nicht gekannt/gefunden habe ist das vergeben eines default Types. Bist du dir sicher das das in Java geht?
     

  3. #3
    DarthShader DarthShader ist offline Mitglied Platin
    Registriert seit
    May 2004
    Beiträge
    684
    Halllo,

    ja, default Werte sind für Annotationen natürlich möglich, siehe:

    http://openbook.galileodesign.de/jav...0008AF1F0261F3
     

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    Das sollte auch gehen...
    hast du vielleicht ausversehen import org.w3c.dom.events.UIEvent; anstatt "deinem" UIEvent importiert?

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

Ähnliche Themen

  1. [Joomla 1.5] style="xhtml" statt "table" wird ignoriert
    Von Schlafor im Forum Content Management Systeme (CMS)
    Antworten: 9
    Letzter Beitrag: 13.08.10, 15:44
  2. Antworten: 3
    Letzter Beitrag: 15.04.09, 14:42
  3. Hibernate: "Calendar" statt "Date" auf SQL TIMESTAMP mappen?
    Von DarthShader im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 09.05.08, 00:07
  4. "class test extends db" funktioniert nicht
    Von schleckerbeck im Forum PHP
    Antworten: 13
    Letzter Beitrag: 09.11.07, 13:22
  5. Antworten: 4
    Letzter Beitrag: 09.11.04, 23:38