Кнопка в ячейке таблицы Matlab GUI

Есть ли способ добавить кнопку в ячейку таблицы в графическом интерфейсе Matlab, чтобы каждая кнопка могла выполнять действие в зависимости от того, в какой строке она находится?

Пример того, что я пытаюсь сделать


person Leo    schedule 21.02.2016    source источник
comment
Этот ответ может вам помочь.   -  person il_raffa    schedule 21.02.2016


Ответы (1)


Вы не можете сделать это, не прибегая к элементам управления Java (что-то вроде это поможет вам начать работу); однако вы можете настроить CellSelectionCallback на uitable и определить, что выполнять на основе строки.

function callback(eventData)
    if eventData.Indices(2) == 3
        fprintf('Clicked Row %d\n', eventData.Indices(1))
    end
end

fig = figure()

data = {'a', '1', 'Click Me';
        'b', '2', 'Click Me'};

u = uitable(fig, 'data', data, 'CellSelectionCallback', @(s,e)callback(e));

Если вам действительно нужен стиль, похожий на кнопку, вы можете использовать возможность помещать HTML в свои ячейки.

data = {'a', '1', '<html><input type="submit" value="Click Me"/></html>';
        'b', '2', '<html><input type="submit" value="Click Me"/></html>'};
person Suever    schedule 21.02.2016
comment
Хороший обходной путь с тегами html. Он не изменяет размер красиво, но делает свое дело ... и не нуждается в взломе Java. - person Hoki; 22.02.2016