Search code examples
rrjava

rJava: failing to load awt.events


Right now, I try to implement some event methods of awt.events, however I cannot get it to load, since I always get an ClassNotFoundException error.

> library(rJava)
> .jinit()
[1] 0
> jEvents <- .jnew("java.awt.event")
Error in .jnew("java.awt.event") : java.lang.ClassNotFoundException

Edit:

Even if I try a specific class, I get an error message:

> library(rJava)
> .jinit()
> jEvents <- .jnew("java.awt.event.ActionEvent")
Error in .jnew("java.awt.event.ActionEvent") : 
  java.lang.NoSuchMethodError: <init>

Solution

  • It seems you are trying to instantiate package instead of class:

    https://docs.oracle.com/javase/7/docs/api/java/awt/event/package-summary.html

    Maybe you are looking for:

    java.awt.event.ActionEvent
    

    You can try this one:

    library(rJava)
    .jinit()
    > EVT <- J("java.awt.event.ActionEvent")
    > aEVT <- new(EVT, "StringObject", 1001L, "Hello")
    > aEVT
    [1] "Java-Object{java.awt.event.ActionEvent[ACTION_PERFORMED,cmd=Hello,when=0,modifiers=] on Str}"
    

    You have to call the constructor with given parameters. Note that ActionEvent doesn't have default constructor.

    You can find nice source here:

    http://www.deducer.org/pmwiki/pmwiki.php?n=Main.Development#wwjoir