Как добавить функции в столбцы таблицы в Java?

Я новичок в программировании, и я ищу способ добавить функции в столбцы таблицы в java, как в MS Excel.


person Sayed Shazeb    schedule 03.06.2014    source источник
comment
Что вы имеете в виду под функциями?   -  person David Yee    schedule 03.06.2014
comment
Например, если я хочу добавить значения одного столбца, а другой столбец, ответ должен появиться в третьем столбце.   -  person Sayed Shazeb    schedule 03.06.2014
comment
Итак, вы имеете в виду, что если пользователь вводит что-то вроде суммы (x, y), вы можете выполнить вычисление...?   -  person MadProgrammer    schedule 03.06.2014
comment
@ Джейсон, я ничего не пробовал, потому что я новичок в программировании и даже не знаю, с чего начать. :(   -  person Sayed Shazeb    schedule 03.06.2014
comment
@MadProgrammer Да, точно   -  person Sayed Shazeb    schedule 03.06.2014
comment
Насколько хорошо вы знаете JTable API?   -  person MadProgrammer    schedule 03.06.2014
comment
Да, я сделал jtable на netbeans   -  person Sayed Shazeb    schedule 03.06.2014
comment
Означает ли это, что вам нужен синтаксический анализатор в ячейке (то есть: для анализа различных команд, таких как сумма (x, y), sub (x, y) и т. д.), или вы просто хотите знать, как заставить третий столбец полагаться на значения, используемые в первых двух столбцах, и выполнять соответствующие операции в бэкэнде, отображая результаты в последнем столбце?   -  person David Yee    schedule 03.06.2014
comment
@CanadianDavid Да, мне нужна функциональность парсера, если это возможно, иначе другой вариант также будет работать.   -  person Sayed Shazeb    schedule 03.06.2014
comment
Потребуется много работы (даже от опытного человека), чтобы превратить JTable во что-то похожее на то, чего может достичь электронная таблица. Сохраните этот проект на потом и начните с более простых задач.   -  person Andrew Thompson    schedule 03.06.2014


Ответы (1)


Вам нужно будет реализовать свои собственные DefaultTableModel или AbstractTableModel, чтобы иметь возможность выводить свои собственные значения в третьем столбце. Другой пользователь опубликовал пример здесь, который демонстрирует, как умножить первые два столбца и вывести результат в третий столбец. В этом примере вы можете дважды щелкнуть JTable, чтобы добавить еще одну строку, и вы заметите, что результаты всегда умножаются и отображаются в третьем столбце. Эти расчеты выполняются в пользовательской табличной модели.

Что касается парсера в ячейках, я полагаю, вам придется переопределить функцию getValueAt(int row, int column) и проверить, соответствует ли значение в данной строке и столбце синтаксису функции (т.е. в MS Excel функции всегда начинаются со знака равенства). Если значение соответствует синтаксису, вы можете удалить соответствующие детали, а затем выполнить необходимые вычисления.

person David Yee    schedule 03.06.2014