diff --git a/source/pro/litvinovg/libreoffice/metadata/views/EditorGUI.java b/source/pro/litvinovg/libreoffice/metadata/views/EditorGUI.java index 5fc0653..fed4c03 100644 --- a/source/pro/litvinovg/libreoffice/metadata/views/EditorGUI.java +++ b/source/pro/litvinovg/libreoffice/metadata/views/EditorGUI.java @@ -245,6 +245,17 @@ public class EditorGUI extends JFrame { .addComponent(btnOutlineSave) .addGap(43)) ); + + JPopupMenu popupMenu = new JPopupMenu(); + addPopup(tableOutline, popupMenu); + + JMenuItem menuItem = new JMenuItem("Добавить строку"); + menuItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + outlineTableModel.addRow(new Object[] {null, null}); + } + }); + popupMenu.add(menuItem); panelOutline.setLayout(groupLayoutOutlineMetadata); tabbedPane.addTab(element.getName(), null, panelOutline, null); } diff --git a/source/pro/litvinovg/libreoffice/metadata/views/MetadataTableModel.java b/source/pro/litvinovg/libreoffice/metadata/views/MetadataTableModel.java index 66e092e..124ae13 100644 --- a/source/pro/litvinovg/libreoffice/metadata/views/MetadataTableModel.java +++ b/source/pro/litvinovg/libreoffice/metadata/views/MetadataTableModel.java @@ -25,7 +25,8 @@ public class MetadataTableModel extends DefaultTableModel { Vector row = (Vector) elements.nextElement(); String name = (String) row.get(0); String value = (String) row.get(1); - if (!name.isEmpty() && !value.isEmpty()) { + + if (name != null && !name.isEmpty() && value != null && !value.isEmpty()) { metadata.add(new MetadataElement(name, value)); } }