Groovy unterstützt ja keine inneren Klassen. Stattdessen soll man Closures verwenden, so wie z.B. hier: http://glenp.net/articles/swing-events- ... y-closures
Das funktioniert mit Swing ActionListenern, aber ich verstehe nicht ganz, wie man das auf allgemeine Fälle übertragen kann (wenn das überhaupt geht).
Vielleicht kann mir das jemand an diesem Beispiel zeigen:
Code: Alles auswählen
new MyClass().copyToClipboard()
return 0
public class MyClass {
private text = "ugly code"
// ...
public void copyToClipboard(){
def stringSelection = new java.awt.datatransfer.StringSelection( text )
def clipboard = java.awt.Toolkit.getDefaultToolkit().getSystemClipboard()
clipboard.setContents(stringSelection, new MyClipboardOwner()) // wie muss ich es ändern?
}
}
private class MyClipboardOwner implements java.awt.datatransfer.ClipboardOwner {
void lostOwnership(java.awt.datatransfer.Clipboard clipboard, java.awt.datatransfer.Transferable transfer) {
// do nothing
}
}