트리에서 시각적으로 표현하고 싶은 XML 파일이 있습니다. 이 작업을 수행하려면 자이 썬을 사용해야하며 시스템에는 버전 2.5.0 만 사용할 수 있습니다. 나는 자바 경험이없고 (그것을 읽는 데 어려움이있다), 약간의 스윙 경험 (자이 썬을 통해)을 가지고 JTree()로 이것을 할 수 있다고 들었다. 이것에 대한 몇 가지 Java Swing 예제를 보았지만 누군가 Jythonic 방식을 알고 있습니까? 제발 XML 파서를 사용할 수 있습니다. xml.etree.ElementTree의 XML 파서를 사용하고 있습니다.Swing 트리에서 XML 파일을 나타낼 수있는 기분 전환 방법이 있습니까?
편집 : 나는 추이 테이의 예를 조금과 원숭이 노력이 시도 :
TypeError: add(): 1st arg can't be coerced to java.awt.PopupMenu, java.awt.Component
암 말, 불행하게도
from java import awt
from javax import swing
from java.lang import System
from xml.etree import ElementTree
class XmlTreeModel(swing.tree.TreeModel):
def __init__(self, etree):
self.etree = etree
def getRoot(self):
return self.etree.getroot()
def getChildCount(self, object):
return len(object)
def getChild(self, parent, index):
return parent[index]
class Viewer(swing.JFrame):
def __init__(self):
super(Viewer, self).__init__()
def display(self, fileName):
xmlObject = ElementTree.parse(fileName)
xmlTreeModel = XmlTreeModel(xmlObject)
jTree = swing.JTree(xmlTreeModel)
self.contentPane.add(jTree)
self.contentPane.setPreferredSize(awt.Dimension(100, 200))
self.setTitle("Tree")
self.pack()
self.setDefaultCloseOperation(swing.JFrame.DO_NOTHING_ON_CLOSE)
self.windowClosing = self.exit
self.setLocationRelativeTo(None)
self.setVisible(True)
def exit(self, event):
System.exit(0)
if __name__ == "__main__":
viewer = Viewer()
viewer.display('my.xml')
는, 그것이 self.contentPane.add(xmlTreeModel)
에 도달 예외가 발생 콘텐츠 창에 추가하여 테스트 할 수 없었습니다.
편집 : JTree가 누락되었습니다. 이 수정 프로그램으로 코드를 업데이트했습니다.
나는 그것을 시도하고 내 질문에 코드를 추가했습니다. 예외의 빠른 구글은 방금 당신이 그것을 인식 할 수있는 많은 자바를 읽을 수없는 것을 반환 했습니까? – aeroNotAuto
JTree는 TreeModel을 사용하여 데이터를 가져옵니다. self.contentPane.add (JTree (xmlTreeModel)) –
오, 그건 바보 같은 짓이었습니다. 굉장해, 고마워! – aeroNotAuto