From 47f50635ca3fa3665f2b0bfb3cc29b2e9b88e88e Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 21 May 2008 11:25:06 +0000 Subject: Initial JTable editor. --- sources/prefs/editors/VSEditorTable.java | 85 ++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 sources/prefs/editors/VSEditorTable.java (limited to 'sources/prefs/editors/VSEditorTable.java') diff --git a/sources/prefs/editors/VSEditorTable.java b/sources/prefs/editors/VSEditorTable.java new file mode 100644 index 0000000..874abaa --- /dev/null +++ b/sources/prefs/editors/VSEditorTable.java @@ -0,0 +1,85 @@ +package prefs.editors; + +import java.util.*; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.table.*; + +import prefs.*; + +public class VSEditorTable extends JTable { + private VSPrefs prefs; + private ArrayList nodes; + private VSEditorTableModel model; + + private class VSNode { + private String key; + private Component comp; + + public VSNode(String key, Component comp) { + this.key = key; + this.comp = comp; + } + + public String getKey() { + return key; + } + + public Component getComponent() { + return comp; + } + } + + private class VSEditorTableModel extends AbstractTableModel { + public VSEditorTableModel() { + } + + public String getColumnName(int col) { + if (col == 0) + return prefs.getString("lang.variable"); + + return prefs.getString("lang.value"); + } + + public int getRowCount() { + return nodes.size(); + } + + public int getColumnCount() { + return 2; + } + + public Object getValueAt(int row, int col) { + VSNode node = nodes.get(row); + + if (col == 0) + return node.getKey(); + else + return node.getComponent(); + } + + public boolean isCellEditable(int row, int col) { + if (col == 0) + return false; + + return true; + } + + public void setValueAt(Object value, int row, int col) { + } + } + + public VSEditorTable(VSPrefs prefs) { + this.prefs = prefs; + this.nodes = new ArrayList(); + this.model = new VSEditorTableModel(); + setModel(model); + } + + public void addVariable(String key, Component comp) { + nodes.add(new VSNode(key, comp)); + model.fireTableDataChanged(); + } +} -- cgit v1.2.3