From: <jem...@fr...> - 2017-09-12 16:42:05
|
In situations like that, you may have to revert to Java reflection to access the appropriate method or field of a Java class. I didn't look at your PApplet, so these might not be completely correct, but something like this should get you close. class test(PApplet): def __init__(self): self.mousePressedField = PApplet.getDeclaredField('mousePressed') self.mousePressedMethod = PApplet.getDeclaredMethod('mousePressed',[]) # Argument types go in the [] def draw(self): fieldValue = self.mousePressedField.get(self) if fieldValue: # Maybe need to invoke the method now? self.mousePressedMethod.invoke(self,[]) # Argument values go in the [] On Mon, 11 Sep 2017 18:10:24 -0500, Cristian Danilo Ramirez Vargas <rvc...@gm...> wrote: > Hi, Im Cristian. > Im working in Jython for use the processings core but I have a problem to > translate this example https://processing.org/tutorials/gettingstarted/ > [1] to Jython, because the class PApplet have a method and an attribute > with the same name (mousePressed). > The PApplets source code is: > https://github.com/processing/processing/blob/master/core/src/processing/core/PApplet.java > [2]. > And the code that I have is: > from processing.core import PApplet > class test(PApplet):def settings(self):self.size(480, 120) > def draw(self): if self.mousePressed: self.fill(0) > else: print type(self.mousePressed) self.fill(255) > self.ellipse(self.mouseX, self.mouseY, 80, 80)if __name__ == > "__main__":processingArgs = ["test"]myProcessingSketch = > test()myProcessingSketch.runSketch(processingArgs) > Thank you for your time (and sorry for the bad english :p) > > Links: > ------ > [1] https://processing.org/tutorials/gettingstarted/ > [2] > https://github.com/processing/processing/blob/master/core/src/processing/core/PApplet.java |