Compare commits
No commits in common. "master" and "metadata" have entirely different histories.
|
@ -3,10 +3,6 @@
|
||||||
<classpathentry kind="src" path="source"/>
|
<classpathentry kind="src" path="source"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||||
<classpathentry kind="lib" path="build"/>
|
<classpathentry kind="lib" path="build"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
|
<classpathentry kind="con" path="org.libreoffice.ide.eclipse.java.OOO_CONTAINER/LibreOffice 5.0"/>
|
||||||
<classpathentry kind="lib" path="miglayout15-swing.jar" sourcepath="miglayout-src.zip"/>
|
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JSON"/>
|
|
||||||
<classpathentry kind="lib" path="json-20190722.jar"/>
|
|
||||||
<classpathentry kind="con" path="org.libreoffice.ide.eclipse.java.OOO_CONTAINER/LibreOffice 6.3 #1"/>
|
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
2
.project
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<projectDescription>
|
<projectDescription>
|
||||||
<name>Metadata Editor</name>
|
<name>StarterProject</name>
|
||||||
<comment></comment>
|
<comment></comment>
|
||||||
<projects>
|
<projects>
|
||||||
</projects>
|
</projects>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#UNO project configuration file
|
#UNO project configuration file
|
||||||
#Fri Apr 10 17:20:27 CEST 2020
|
#Thu Mar 19 15:58:57 CET 2020
|
||||||
project.srcdir=/source
|
project.srcdir=/source
|
||||||
regclassname=pro.litvinovg.libreoffice.metadata.RegistrationHandler
|
regclassname=pro.litvinovg.libreoffice.metadata.RegistrationHandler
|
||||||
javaversion=java5
|
javaversion=java5
|
||||||
|
|
|
@ -1,20 +1,13 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<description xmlns="http://openoffice.org/extensions/description/2006" xmlns:d="http://openoffice.org/extensions/description/2006" xmlns:xlink="http://www.w3.org/1999/xlink">
|
<description xmlns="http://openoffice.org/extensions/description/2006" xmlns:d="http://openoffice.org/extensions/description/2006" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
<version value="0.4.1"/>
|
<version value="0.3.1"/>
|
||||||
<identifier value="pro.litvinovg.libreoffice.metadata"/>
|
<identifier value="pro.litvinovg.libreoffice.metadata"/>
|
||||||
<update-information>
|
|
||||||
<src xlink:href="https://dev.litvinovg.pro/litvinovg/metadata-editor/-/raw/master/metadataeditor.update.xml"/>
|
|
||||||
</update-information>
|
|
||||||
<release-notes>
|
|
||||||
<src lang="en" xlink:href="releasenotes.txt"/>
|
|
||||||
</release-notes>
|
|
||||||
<display-name>
|
<display-name>
|
||||||
<name lang="en">MetadataEditor</name>
|
<name lang="en">MetadataEditor</name>
|
||||||
</display-name>
|
</display-name>
|
||||||
<icon>
|
<release-notes>
|
||||||
<default xlink:href="images/metadata.png"/>
|
<src xlink:href="releasenotes.txt" lang="en" />
|
||||||
<high-contrast xlink:href="images/metadata.png"/>
|
</release-notes>
|
||||||
</icon>
|
|
||||||
<extension-description>
|
<extension-description>
|
||||||
<src lang="en" xlink:href="description/desc_en.txt"/>
|
<src lang="en" xlink:href="description/desc_en.txt"/>
|
||||||
</extension-description>
|
</extension-description>
|
||||||
|
|
BIN
images/actionOne_16.png
Normal file
After Width: | Height: | Size: 501 B |
BIN
images/actionOne_26.png
Normal file
After Width: | Height: | Size: 575 B |
|
@ -2,9 +2,9 @@
|
||||||
<description xmlns="http://openoffice.org/extensions/update/2006"
|
<description xmlns="http://openoffice.org/extensions/update/2006"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
<identifier value="pro.litvinovg.libreoffice.metadata"/>
|
<identifier value="pro.litvinovg.libreoffice.metadata"/>
|
||||||
<version value="0.4.1" />
|
<version value="0.3.1" />
|
||||||
<update-download>
|
<update-download>
|
||||||
<src xlink:href="https://dev.litvinovg.pro/litvinovg/metadata-editor/uploads/cc4bd54cbaf865b21ca4f6b7dbda2e7b/Metadata_Editor.oxt" />
|
<src xlink:href="https://dev.litvinovg.pro/litvinovg/metadata-editor/uploads/ffede5a74a84e212df07c50557d95af0/Metadata_Editor.oxt" />
|
||||||
</update-download>
|
</update-download>
|
||||||
<release-notes>
|
<release-notes>
|
||||||
<src xlink:href="https://dev.litvinovg.pro/litvinovg/metadata-editor/-/raw/master/releasenotes.txt" lang="en" />
|
<src xlink:href="https://dev.litvinovg.pro/litvinovg/metadata-editor/-/raw/master/releasenotes.txt" lang="en" />
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
#Written by the OOEclipseIntegration
|
#Written by the OOEclipseIntegration
|
||||||
#Fri Apr 10 17:15:09 CEST 2020
|
#Thu Apr 07 11:36:27 CEST 2016
|
||||||
contents=description, description/desc_en.txt, releasenotes.txt, images, images/actionOne_16.png, images/actionOne_26.png, json-20190722.jar, registry, registry/org, registry/org/openoffice, registry/org/openoffice/Office, registry/org/openoffice/Office/Accelerators.xcu, registry/org/openoffice/Office/Addons.xcu, registry/org/openoffice/Office/UI, registry/org/openoffice/Office/UI/WriterWindowState.xcu
|
contents=description, description/desc_en.txt, images, images/actionOne_16.png, images/actionOne_26.png, registry, registry/org, registry/org/openoffice, registry/org/openoffice/Office, registry/org/openoffice/Office/Accelerators.xcu, registry/org/openoffice/Office/Addons.xcu, registry/org/openoffice/Office/UI, registry/org/openoffice/Office/UI/WriterWindowState.xcu
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<oor:component-data oor:package="org.openoffice.Office" oor:name="Addons"
|
<oor:component-data oor:package="org.openoffice.Office" oor:name="Addons"
|
||||||
xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
<node oor:name="AddonUI">
|
<node oor:name="AddonUI">
|
||||||
|
@ -9,8 +9,11 @@
|
||||||
<value>service:pro.litvinovg.libreoffice.MetadataEditor?openGUI</value>
|
<value>service:pro.litvinovg.libreoffice.MetadataEditor?openGUI</value>
|
||||||
</prop>
|
</prop>
|
||||||
<node oor:name="UserDefinedImages">
|
<node oor:name="UserDefinedImages">
|
||||||
|
<prop oor:name="ImageSmallURL">
|
||||||
|
<value>vnd.sun.star.extension://pro.litvinovg.libreoffice.metadata/images/actionOne_16.png</value>
|
||||||
|
</prop>
|
||||||
<prop oor:name="ImageBigURL">
|
<prop oor:name="ImageBigURL">
|
||||||
<value>vnd.sun.star.extension://pro.litvinovg.libreoffice.metadata/images/metadata.png</value>
|
<value>vnd.sun.star.extension://pro.litvinovg.libreoffice.metadata/images/actionOne_26.png</value>
|
||||||
</prop>
|
</prop>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package pro.litvinovg.libreoffice.metadata;
|
package pro.litvinovg.libreoffice.metadata;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
public class MetadataElement {
|
public class MetadataElement {
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
@ -18,4 +20,5 @@ public class MetadataElement {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@ package pro.litvinovg.libreoffice.metadata;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
@ -67,14 +66,11 @@ public class OutlineElement {
|
||||||
public void readMetadata(String data) {
|
public void readMetadata(String data) {
|
||||||
try {
|
try {
|
||||||
JSONObject json = new JSONObject(data);
|
JSONObject json = new JSONObject(data);
|
||||||
Set<String> nums = json.keySet();
|
Iterator<String> names = json.keys();
|
||||||
for (String number : nums) {
|
while (names.hasNext()) {
|
||||||
JSONObject meta = (JSONObject) json.get(number);
|
String metaName = names.next();
|
||||||
Set<String> names = meta.keySet();
|
String metaValue = (String) json.get(metaName);
|
||||||
for (String name: names) {
|
metadata.add(new MetadataElement(metaName, metaValue));
|
||||||
String value = meta.getString(name);
|
|
||||||
metadata.add(new MetadataElement(name, value));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -85,15 +81,11 @@ public class OutlineElement {
|
||||||
|
|
||||||
private String metadataToString() {
|
private String metadataToString() {
|
||||||
JSONObject json = new JSONObject();
|
JSONObject json = new JSONObject();
|
||||||
Integer i = 0;
|
|
||||||
for (MetadataElement element : metadata) {
|
for (MetadataElement element : metadata) {
|
||||||
String name = element.getName();
|
String name = element.getName();
|
||||||
String value = element.getValue();
|
String value = element.getValue();
|
||||||
if (!name.isEmpty() && !value.isEmpty()) {
|
if (!name.isEmpty() && !value.isEmpty()) {
|
||||||
JSONObject meta = new JSONObject();
|
json.put(element.getName(), element.getValue());
|
||||||
meta.put(element.getName(), element.getValue());
|
|
||||||
json.put(i.toString(), meta);
|
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return json.toString();
|
return json.toString();
|
||||||
|
|
BIN
source/pro/litvinovg/libreoffice/metadata/resources/clock128.gif
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
source/pro/litvinovg/libreoffice/metadata/resources/cura.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
source/pro/litvinovg/libreoffice/metadata/resources/eclipse.png
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 4.1 KiB |
BIN
source/pro/litvinovg/libreoffice/metadata/resources/webcam.png
Normal file
After Width: | Height: | Size: 30 KiB |
|
@ -46,8 +46,6 @@ import java.awt.event.FocusEvent;
|
||||||
import javax.swing.JToggleButton;
|
import javax.swing.JToggleButton;
|
||||||
import javax.swing.LayoutStyle.ComponentPlacement;
|
import javax.swing.LayoutStyle.ComponentPlacement;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.ScrollPaneConstants;
|
|
||||||
import java.awt.Dimension;
|
|
||||||
|
|
||||||
public class EditorGUI extends JFrame {
|
public class EditorGUI extends JFrame {
|
||||||
//Components
|
//Components
|
||||||
|
@ -184,16 +182,17 @@ public class EditorGUI extends JFrame {
|
||||||
panelStandardMetadata = new JPanel();
|
panelStandardMetadata = new JPanel();
|
||||||
tabbedPane.addTab("Метаданные либры", null, panelStandardMetadata, null);
|
tabbedPane.addTab("Метаданные либры", null, panelStandardMetadata, null);
|
||||||
tabbedPane.setEnabledAt(0, true);
|
tabbedPane.setEnabledAt(0, true);
|
||||||
|
/*
|
||||||
|
* if (true) { addMetadataTab(new OutlineElement(null, "Тестовое название")); }
|
||||||
|
*/
|
||||||
for (OutlineElement element : outline) {
|
for (OutlineElement element : outline) {
|
||||||
addMetadataTab(element);
|
addMetadataTab(element);
|
||||||
}
|
}
|
||||||
|
|
||||||
createDocPropsModel();
|
createDocPropsModel();
|
||||||
createCustomDocPropsModel();
|
createCustomDocPropsModel();
|
||||||
tableDocStandard = new MetadataTable();
|
tableDocStandard = new JTable();
|
||||||
tableDocCustom = new MetadataTable();
|
tableDocCustom = new JTable();
|
||||||
configureTableDocStandard();
|
configureTableDocStandard();
|
||||||
configureTableDocCustom();
|
configureTableDocCustom();
|
||||||
|
|
||||||
|
@ -219,8 +218,10 @@ public class EditorGUI extends JFrame {
|
||||||
|
|
||||||
private void addMetadataTab(OutlineElement element) {
|
private void addMetadataTab(OutlineElement element) {
|
||||||
JPanel panelOutline = new JPanel();
|
JPanel panelOutline = new JPanel();
|
||||||
|
JTable tableOutline = new JTable();
|
||||||
MetadataTableModel outlineTableModel = createOutlineTableModel(element);
|
MetadataTableModel outlineTableModel = createOutlineTableModel(element);
|
||||||
tableModels.add(outlineTableModel);
|
tableModels.add(outlineTableModel);
|
||||||
|
configureTableOutline(tableOutline, outlineTableModel);
|
||||||
|
|
||||||
JButton btnOutlineSave = new JButton("Сохранить");
|
JButton btnOutlineSave = new JButton("Сохранить");
|
||||||
btnOutlineSave.addActionListener(new ActionListener() {
|
btnOutlineSave.addActionListener(new ActionListener() {
|
||||||
|
@ -229,41 +230,27 @@ public class EditorGUI extends JFrame {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
JScrollPane scrollPane = new JScrollPane();
|
|
||||||
scrollPane.setSize(new Dimension(50, 50));
|
|
||||||
|
|
||||||
JButton btnOutlineSave_1 = new JButton("Закрыть");
|
|
||||||
|
|
||||||
GroupLayout groupLayoutOutlineMetadata = new GroupLayout(panelOutline);
|
GroupLayout groupLayoutOutlineMetadata = new GroupLayout(panelOutline);
|
||||||
groupLayoutOutlineMetadata.setHorizontalGroup(
|
groupLayoutOutlineMetadata.setHorizontalGroup(
|
||||||
groupLayoutOutlineMetadata.createParallelGroup(Alignment.LEADING)
|
groupLayoutOutlineMetadata.createParallelGroup(Alignment.LEADING)
|
||||||
|
.addGroup(groupLayoutOutlineMetadata.createSequentialGroup()
|
||||||
|
.addGap(34)
|
||||||
|
.addComponent(tableOutline, GroupLayout.DEFAULT_SIZE, 839, Short.MAX_VALUE)
|
||||||
|
.addGap(126))
|
||||||
.addGroup(Alignment.TRAILING, groupLayoutOutlineMetadata.createSequentialGroup()
|
.addGroup(Alignment.TRAILING, groupLayoutOutlineMetadata.createSequentialGroup()
|
||||||
.addGroup(groupLayoutOutlineMetadata.createParallelGroup(Alignment.TRAILING)
|
.addContainerGap(748, Short.MAX_VALUE)
|
||||||
.addGroup(groupLayoutOutlineMetadata.createSequentialGroup()
|
|
||||||
.addContainerGap(557, Short.MAX_VALUE)
|
|
||||||
.addComponent(btnOutlineSave_1, GroupLayout.PREFERRED_SIZE, 108, GroupLayout.PREFERRED_SIZE)
|
|
||||||
.addGap(104)
|
|
||||||
.addComponent(btnOutlineSave)
|
.addComponent(btnOutlineSave)
|
||||||
.addGap(32))
|
.addGap(134))
|
||||||
.addGroup(groupLayoutOutlineMetadata.createSequentialGroup()
|
|
||||||
.addGap(45)
|
|
||||||
.addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 864, Short.MAX_VALUE)))
|
|
||||||
.addGap(90))
|
|
||||||
);
|
);
|
||||||
groupLayoutOutlineMetadata.setVerticalGroup(
|
groupLayoutOutlineMetadata.setVerticalGroup(
|
||||||
groupLayoutOutlineMetadata.createParallelGroup(Alignment.LEADING)
|
groupLayoutOutlineMetadata.createParallelGroup(Alignment.LEADING)
|
||||||
.addGroup(Alignment.TRAILING, groupLayoutOutlineMetadata.createSequentialGroup()
|
.addGroup(groupLayoutOutlineMetadata.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addGap(85)
|
||||||
.addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 600, Short.MAX_VALUE)
|
.addComponent(tableOutline, GroupLayout.DEFAULT_SIZE, 497, Short.MAX_VALUE)
|
||||||
.addGap(31)
|
.addGap(52)
|
||||||
.addGroup(groupLayoutOutlineMetadata.createParallelGroup(Alignment.BASELINE)
|
.addComponent(btnOutlineSave)
|
||||||
.addComponent(btnOutlineSave_1)
|
.addGap(43))
|
||||||
.addComponent(btnOutlineSave))
|
|
||||||
.addGap(34))
|
|
||||||
);
|
);
|
||||||
JTable tableOutline = new MetadataTable();
|
|
||||||
scrollPane.setViewportView(tableOutline);
|
|
||||||
configureTableOutline(tableOutline, outlineTableModel);
|
|
||||||
|
|
||||||
JPopupMenu popupMenu = new JPopupMenu();
|
JPopupMenu popupMenu = new JPopupMenu();
|
||||||
addPopup(tableOutline, popupMenu);
|
addPopup(tableOutline, popupMenu);
|
||||||
|
@ -288,7 +275,7 @@ public class EditorGUI extends JFrame {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void configureWindow() {
|
private void configureWindow() {
|
||||||
setIconImage(Toolkit.getDefaultToolkit().getImage(EditorGUI.class.getResource("/pro/litvinovg/libreoffice/metadata/resources/metadata.png")));
|
setIconImage(Toolkit.getDefaultToolkit().getImage(EditorGUI.class.getResource("/pro/litvinovg/libreoffice/metadata/resources/webcam.png")));
|
||||||
setTitle("Редактор метаданных");
|
setTitle("Редактор метаданных");
|
||||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
setBounds(100, 100, 1170, 755);
|
setBounds(100, 100, 1170, 755);
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
package pro.litvinovg.libreoffice.metadata.views;
|
|
||||||
|
|
||||||
import java.awt.Component;
|
|
||||||
import java.awt.event.ComponentAdapter;
|
|
||||||
import java.awt.event.ComponentEvent;
|
|
||||||
import java.awt.event.KeyAdapter;
|
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
|
|
||||||
import javax.swing.AbstractCellEditor;
|
|
||||||
import javax.swing.JTable;
|
|
||||||
import javax.swing.JTextArea;
|
|
||||||
import javax.swing.table.TableCellEditor;
|
|
||||||
|
|
||||||
public class MetadataCellEditor extends AbstractCellEditor implements TableCellEditor {
|
|
||||||
JTextArea comp = new JTextArea();
|
|
||||||
JTable table;
|
|
||||||
int row;
|
|
||||||
|
|
||||||
public MetadataCellEditor() {
|
|
||||||
comp.setLineWrap(true);
|
|
||||||
comp.setWrapStyleWord(true);
|
|
||||||
comp.addComponentListener(new ComponentAdapter() {
|
|
||||||
public void componentResized(ComponentEvent e) {
|
|
||||||
super.componentResized(e);
|
|
||||||
table.setRowHeight(row, (int) (comp.getPreferredSize().getHeight()));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
comp.addKeyListener(new KeyAdapter() {
|
|
||||||
public void keyTyped(KeyEvent e) {
|
|
||||||
super.keyTyped(e);
|
|
||||||
table.setRowHeight(row, (int) (comp.getPreferredSize().getHeight()));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
|
|
||||||
this.table = table;
|
|
||||||
this.row = row;
|
|
||||||
|
|
||||||
comp.setText((String) value);
|
|
||||||
comp.setFont(table.getFont());
|
|
||||||
|
|
||||||
return comp;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Object getCellEditorValue() {
|
|
||||||
return comp.getText();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
package pro.litvinovg.libreoffice.metadata.views;
|
|
||||||
|
|
||||||
import javax.swing.DefaultCellEditor;
|
|
||||||
import javax.swing.JTable;
|
|
||||||
import javax.swing.JTextField;
|
|
||||||
import javax.swing.table.DefaultTableCellRenderer;
|
|
||||||
import javax.swing.table.TableCellEditor;
|
|
||||||
import javax.swing.table.TableCellRenderer;
|
|
||||||
|
|
||||||
public class MetadataTable extends JTable {
|
|
||||||
|
|
||||||
public TableCellRenderer getCellRenderer(int row, int col) {
|
|
||||||
return new MetadataTableRenderer();
|
|
||||||
}
|
|
||||||
|
|
||||||
public TableCellEditor getCellEditor(int row, int col) {
|
|
||||||
return new MetadataCellEditor();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
package pro.litvinovg.libreoffice.metadata.views;
|
|
||||||
|
|
||||||
import java.awt.Component;
|
|
||||||
|
|
||||||
import javax.swing.JTable;
|
|
||||||
import javax.swing.JTextArea;
|
|
||||||
import javax.swing.table.TableCellRenderer;
|
|
||||||
|
|
||||||
public class MetadataTableRenderer extends JTextArea implements TableCellRenderer{
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
public MetadataTableRenderer() {
|
|
||||||
setOpaque(true);
|
|
||||||
setLineWrap(true);
|
|
||||||
setWrapStyleWord(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Component getTableCellRendererComponent(JTable table,Object value,
|
|
||||||
boolean isSelected, boolean hasFocus, int row,int column) {
|
|
||||||
this.setText(value == null ? "" : value.toString());
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
|