This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Using macros in applets
- From: Kjetil Svalastog Matheussen <k dot s dot matheussen at notam02 dot no>
- To: kawa at sources dot redhat dot com
- Date: Wed, 7 Feb 2007 19:58:50 +0100 (CET)
- Subject: Using macros in applets
How do I do that?
Trying the following:
"
(module-name 'testapplet)
(module-extends <java.applet.Applet>)
(define-syntax define-syntax-case
(syntax-rules ()
((define-syntax-case name literals . parts)
(define-syntax name
(lambda (form)
(syntax-case form literals . parts))))))
(define (paint (g :: <java.awt.Graphics>)) <void>
(invoke g 'setColor (java.awt.Color:.pink))
(invoke g 'drawLine 0 0 50 50))
(define (init) <void> (format #t "called init.~%~!"))
(define (start) <void> (format #t "called start.~%~!"))
(define (stop) <void> (format #t "called stop.~%~!"))
(define (destroy) <void> (format #t "called destroy.~%~!"))
"
I get this error when running appletviewer:
java.lang.VerifyError: (class: testapplet$frame, method: <init> signature: ()V) Incompatible type for getting or setting field
at testapplet.<init>(testapplet.scm)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:778)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:707)
at sun.applet.AppletPanel.run(AppletPanel.java:361)
at java.lang.Thread.run(Thread.java:619)