Я хотел бы знать, как я могу создать экземпляр строки дерева JideSoft как «Расширяемая строка» (Jython) - PullRequest
0 голосов
/ 06 февраля 2020

Я хотел бы знать, как создать экземпляр этой таблицы TreeTable как «Расширяемая строка», а также как вставить в нее дочернюю строку. Как я могу исправить ошибку: «Нет видимых конструкторов для класса (com.jidesoft.grid.ExpandableRow)»? Расширяемая строка может быть Row1, а дочерняя строка - Row_1. Я действительно надеюсь, что кто-то может помочь мне решить это сомнение. Спасибо всем за внимание!

Код:

from com.jidesoft.grid import TreeTable,Row, Node, AbstractExpandableRow, AbstractGroupTableModel, DefaultExpandable, TreeTableModel, RootExpandableRow, IExpandableTreeTableModel
from com.jidesoft.grid import ExpandableRow as ExpandableRow
import com.jidesoft.swing.JideSwingUtilities
from com.jidesoft.grid import DefaultWrappedRow, ColumnTableModelWrapper
from com.jidesoft.grid import DefaultExpandableRow
#com.jidesoft.grid.TreeTable
from optparse import OptionParser
from abc import ABCMeta, abstractmethod
from javax.swing import JFrame, JTable, JButton, JScrollPane, JPanel, JLabel, JCheckBox
from java.awt import BorderLayout
from javax.swing.table import DefaultTableModel, DefaultTableColumnModel
from java.util import ArrayList 


class Example:

    def __init__(self):
        frame = JFrame("Jython JTable Example")
        frame.setSize(400, 150)
        frame.setLayout(BorderLayout())

        Row1 = ['Memphis', 'Melbourne', 'Milan']

        Row2 = ['Marrakech', 'Moscow', 'Munich']

        Row3 = ['San Francisco', 'Salzburg', 'Santiago']

        Row4 = ['Sydney', 'Sandnessjoen', 'Stockholm']

        Row = ['Palermo', 'Agrigento', 'Siracusa']


        self.tableData = [Row1, Row2, Row3, Row4] 

        self.csvList = ArrayList(self.tableData)


        colNames = ('Col Labels','Go','Here')
        #dataModel1 = DefaultTableModel(self.tableData, colNames)
        dataModel = DefaultTableModel(self.csvList, colNames)
        self.table = TreeTable(dataModel)



        #table.setRowHeight(30)
        #table.setShowTreeLines(1)
        #table.setShowGrid(1)
        #ab = IExpandableTreeTableModel(csvList)
        #root = RootExpandableRow(ab)


        scrollPane = JScrollPane()
        scrollPane.setSize(300,100)
        scrollPane.getViewport().setView((self.table))

        panel = JPanel()
        panel.add(scrollPane)

        frame.add(panel, BorderLayout.CENTER)
        frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE)
        frame.setVisible(True)



Example()
...