2012-02-28 3 views
2

Jython 클래스에서 Plot.java를 확장하고 Histogram.py 하위 클래스의 Plot.java에서 "setSize() 및 setButtons()"메서드를 사용하려고합니다. 그러나 전역 변수 setSize()가 정의되지 않았다는 오류가 발생하도록 할 수 없습니다. 누군가 문제가 무엇인지 말해 줄 수 있습니까?Jython에서 Java 클래스를 확장하는 방법은 무엇입니까?

class Histogram(Plot): 
    dataset = 0; 
    def __init__(self): 
     theJFrame = JFrame(); 
     theJFrame.setSize(400, 350);   #outer box 
     setSize(self,350, 300);     #graph window 
     setButtons(self,true);     #buttons to print, edit, etc. 
     setMarksStyle(self,"none");    #do not show marks at points 

답변

3

데이브 뉴턴 권리뿐만 아니라, 자이 썬 속성으로 자바 세터와 게터를 노출, 그래서 self.size = (350, 300)뿐만 아니라 작동합니다 (그리고있다 파이썬 개발자의 눈에는 조금 더 예쁘다). 약간의 입력을 저장하려면, 당신은 심지어 같은 JFrame의 생성자 자체에서 세터를 호출 할 수

theJFrame = JFrame(
    size = (400, 350)   #outer box 
) 

참조 : http://www.jython.org/jythonbook/en/1.0/GUIApplications.html 자세한 세부 사항을 위해.

2

사용 self.setSize(350, 300)

관련 문제