summaryrefslogtreecommitdiff
path: root/libs/FLib/TableLayout/doc/example/TableExplorer.java
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2009-03-04 18:25:32 +0000
committerPaul Buetow <paul@buetow.org>2009-03-04 18:25:32 +0000
commit6deeb57d62c238d3f152cdef1d782b441c73797a (patch)
treef12600b080dbcdfed825f2a79f58c2d45fda93de /libs/FLib/TableLayout/doc/example/TableExplorer.java
parent9129838d208c0df7293e5b757661125545cd6df8 (diff)
jcalendar lib
Diffstat (limited to 'libs/FLib/TableLayout/doc/example/TableExplorer.java')
-rw-r--r--libs/FLib/TableLayout/doc/example/TableExplorer.java2118
1 files changed, 1059 insertions, 1059 deletions
diff --git a/libs/FLib/TableLayout/doc/example/TableExplorer.java b/libs/FLib/TableLayout/doc/example/TableExplorer.java
index d66c497..90c3a5e 100644
--- a/libs/FLib/TableLayout/doc/example/TableExplorer.java
+++ b/libs/FLib/TableLayout/doc/example/TableExplorer.java
@@ -24,1039 +24,1039 @@ import org.freixas.tablelayout.*;
*/
public class TableExplorer
- extends JFrame
- implements CaretListener, ActionListener, ListSelectionListener,
- FocusListener, MenuListener
+ extends JFrame
+ implements CaretListener, ActionListener, ListSelectionListener,
+ FocusListener, MenuListener
{
//**********************************************************************
// Constants
//**********************************************************************
-static final String[] tablePositionList = {
- "Default",
- "tn", "tne", "tnw",
- "ts", "tse", "tsw",
- "te", "tw", "tc"
-};
+ static final String[] tablePositionList = {
+ "Default",
+ "tn", "tne", "tnw",
+ "ts", "tse", "tsw",
+ "te", "tw", "tc"
+ };
-static final String[] tableFillList = {
- "Default", "tfh", "tfv", "tf"
-};
+ static final String[] tableFillList = {
+ "Default", "tfh", "tfv", "tf"
+ };
-static final String[] positionList = {
- "Default",
- "n", "ne", "nw",
- "s", "se", "sw",
- "e", "w", "c"
-};
+ static final String[] positionList = {
+ "Default",
+ "n", "ne", "nw",
+ "s", "se", "sw",
+ "e", "w", "c"
+ };
-static final String[] fillList = {
- "Default", "fh", "fv", "f"
-};
+ static final String[] fillList = {
+ "Default", "fh", "fv", "f"
+ };
//**********************************************************************
// Fields
//**********************************************************************
-JFrame layout;
-JPanel layoutPane;
-JFrame code;
-JPanel codePane;
-
-HashMap compHash = new HashMap();
-HashMap attrHash = new HashMap();
-
-JMenu fileMenu;
-JMenu windowMenu;
-JMenu helpMenu;
-
-JMenuItem exitItem;
-JMenuItem previewItem;
-JMenuItem packItem;
-JMenuItem codeItem;
-JMenuItem generateItem;
-JMenuItem aboutItem;
-
-JButton upButton;
-JButton downButton;
-JButton removeButton;
-JButton addButton;
-
-JList compList;
-DefaultListModel compListModel;
-JTextField compEntryField;
-
-JTextField columnsField;
-JTextField[] tableInsetFields = new JTextField[4];
-JTextField rowGapField;
-JTextField colGapField;
-JComboBox tablePositionBox;
-JComboBox tableFillBox;
-
-JTextField[] tableCellInsetFields = new JTextField[4];
-JComboBox tableCellPositionBox;
-JComboBox tableCellFillBox;
-JTextField tableRowWeightField;
-JTextField tableColWeightField;
-
-JTextField tableAttributesField;
-
-JTextField[] insetFields = new JTextField[4];
-JComboBox positionBox;
-JComboBox fillBox;
-JTextField rowWeightField;
-JTextField colWeightField;
-JTextField colPositionField;
-JTextField skipCellsField;
-JTextField rowSpanField;
-JTextField colSpanField;
-
-JTextField cellAttributesField;
-
-JTextArea codeTextArea;
-JScrollPane codeTextScroll;
-
-String textWhenFocusGained = null;
-boolean ignoreEvents = false;
-
-TableAttributes tableAttributes = null;
+ JFrame layout;
+ JPanel layoutPane;
+ JFrame code;
+ JPanel codePane;
+
+ HashMap compHash = new HashMap();
+ HashMap attrHash = new HashMap();
+
+ JMenu fileMenu;
+ JMenu windowMenu;
+ JMenu helpMenu;
+
+ JMenuItem exitItem;
+ JMenuItem previewItem;
+ JMenuItem packItem;
+ JMenuItem codeItem;
+ JMenuItem generateItem;
+ JMenuItem aboutItem;
+
+ JButton upButton;
+ JButton downButton;
+ JButton removeButton;
+ JButton addButton;
+
+ JList compList;
+ DefaultListModel compListModel;
+ JTextField compEntryField;
+
+ JTextField columnsField;
+ JTextField[] tableInsetFields = new JTextField[4];
+ JTextField rowGapField;
+ JTextField colGapField;
+ JComboBox tablePositionBox;
+ JComboBox tableFillBox;
+
+ JTextField[] tableCellInsetFields = new JTextField[4];
+ JComboBox tableCellPositionBox;
+ JComboBox tableCellFillBox;
+ JTextField tableRowWeightField;
+ JTextField tableColWeightField;
+
+ JTextField tableAttributesField;
+
+ JTextField[] insetFields = new JTextField[4];
+ JComboBox positionBox;
+ JComboBox fillBox;
+ JTextField rowWeightField;
+ JTextField colWeightField;
+ JTextField colPositionField;
+ JTextField skipCellsField;
+ JTextField rowSpanField;
+ JTextField colSpanField;
+
+ JTextField cellAttributesField;
+
+ JTextArea codeTextArea;
+ JScrollPane codeTextScroll;
+
+ String textWhenFocusGained = null;
+ boolean ignoreEvents = false;
+
+ TableAttributes tableAttributes = null;
//**********************************************************************
// Main
//**********************************************************************
-static public void
-main(
- String[] args)
-{
- new TableExplorer();
-}
+ static public void
+ main(
+ String[] args)
+ {
+ new TableExplorer();
+ }
//**********************************************************************
// Constructors
//**********************************************************************
-/**
- * Create the TableExplorer JFrame.
- */
+ /**
+ * Create the TableExplorer JFrame.
+ */
-TableExplorer()
-{
- super("TableExplorer");
+ TableExplorer()
+ {
+ super("TableExplorer");
- // Table with three columns
- // Row 1: Buttons for managing component list
- // Row 2: Component list
- // Row 3: Attribute settings
+ // Table with three columns
+ // Row 1: Buttons for managing component list
+ // Row 2: Component list
+ // Row 3: Attribute settings
- setJMenuBar(createJMenuBar());
+ setJMenuBar(createJMenuBar());
- getContentPane().setLayout(
- new TableLayout("cols=3 cgap=5 " +
- "titop=2 tibottom=2 tileft=2 tiright=2"));
+ getContentPane().setLayout(
+ new TableLayout("cols=3 cgap=5 " +
+ "titop=2 tibottom=2 tileft=2 tiright=2"));
- getContentPane().add(createButtonPane());
- getContentPane().add(createListPane(), "cweight=1");
- getContentPane().add(createAttributePane(), "n fh");
+ getContentPane().add(createButtonPane());
+ getContentPane().add(createListPane(), "cweight=1");
+ getContentPane().add(createAttributePane(), "n fh");
- pack();
- setVisible(true);
+ pack();
+ setVisible(true);
- layout = new JFrame("Table Layout Preview");
- layoutPane = (JPanel)layout.getContentPane();
- layoutPane.setName("DEBUG");
- layoutPane.setLayout(new TableLayout());
- layoutPane.setOpaque(true);
+ layout = new JFrame("Table Layout Preview");
+ layoutPane = (JPanel)layout.getContentPane();
+ layoutPane.setName("DEBUG");
+ layoutPane.setLayout(new TableLayout());
+ layoutPane.setOpaque(true);
- code = new JFrame("Table Layout Code");
- codePane = createCodePane();
- code.setContentPane(codePane);
- code.pack();
+ code = new JFrame("Table Layout Code");
+ codePane = createCodePane();
+ code.setContentPane(codePane);
+ code.pack();
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- compEntryField.grabFocus();
+ compEntryField.grabFocus();
- layout.setSize(300, 300);
-}
+ layout.setSize(300, 300);
+ }
//**********************************************************************
// Public
//**********************************************************************
-public void
-caretUpdate(
- CaretEvent e)
-{
- if (e.getSource() == compEntryField) {
- String text = compEntryField.getText();
- addButton.setEnabled(text.length() > 0);
- }
-}
-
-public void
-actionPerformed(
- ActionEvent e)
-{
- if (ignoreEvents) return;
-
- if (e.getSource() == addButton ||
- e.getSource() == compEntryField) {
-
- String name = compEntryField.getText();
-
- JButton button = new JButton(name);
- addToLayout(button);
- compHash.put(name, button);
- attrHash.put(name, new Attributes());
- compListModel.addElement(name);
- compEntryField.setText("");
- addButton.setEnabled(false);
- }
-
- else if (e.getSource() == removeButton) {
- String name = (String)compList.getSelectedValue();
- if (name != null) {
- Component c = (Component)compHash.get(name);
- layoutPane.remove(c);
- compHash.remove(name);
- attrHash.remove(name);
- compListModel.removeElement(name);
- removeButton.setEnabled(false);
- layoutPane.revalidate();
- }
- }
-
- else if (e.getSource() == upButton) {
- int index = compList.getSelectedIndex();
- if (index > 0) {
- String name = (String)compListModel.elementAt(index);
- compListModel.removeElementAt(index);
- compListModel.insertElementAt(name, index - 1);
- compList.setSelectedIndex(index - 1);
-
- Component c = (Component)compHash.get(name);
- Attributes a = (Attributes)attrHash.get(name);
- layoutPane.remove(index);
- layoutPane.add(c, a.toString(), index - 1);
- layoutPane.revalidate();
- }
- }
-
- else if (e.getSource() == downButton) {
- int index = compList.getSelectedIndex();
- if (index > -1 && index < compListModel.getSize() - 1) {
- String name = (String)compListModel.elementAt(index);
- compListModel.removeElementAt(index);
- compListModel.insertElementAt(name, index + 1);
- compList.setSelectedIndex(index + 1);
-
- Component c = (Component)compHash.get(name);
- Attributes a = (Attributes)attrHash.get(name);
- layoutPane.remove(index);
- layoutPane.add(c, a.toString(), index + 1);
- layoutPane.revalidate();
- }
+ public void
+ caretUpdate(
+ CaretEvent e)
+ {
+ if (e.getSource() == compEntryField) {
+ String text = compEntryField.getText();
+ addButton.setEnabled(text.length() > 0);
+ }
}
- else if (e.getSource() == insetFields[0] ||
- e.getSource() == insetFields[1] ||
- e.getSource() == insetFields[2] ||
- e.getSource() == insetFields[3] ||
- e.getSource() == positionBox ||
- e.getSource() == fillBox ||
- e.getSource() == rowWeightField ||
- e.getSource() == colWeightField ||
- e.getSource() == colPositionField ||
- e.getSource() == skipCellsField ||
- e.getSource() == rowSpanField ||
- e.getSource() == colSpanField) {
- String name = (String)compList.getSelectedValue();
- changeLayout(name);
+ public void
+ actionPerformed(
+ ActionEvent e)
+ {
+ if (ignoreEvents) return;
+
+ if (e.getSource() == addButton ||
+ e.getSource() == compEntryField) {
+
+ String name = compEntryField.getText();
+
+ JButton button = new JButton(name);
+ addToLayout(button);
+ compHash.put(name, button);
+ attrHash.put(name, new Attributes());
+ compListModel.addElement(name);
+ compEntryField.setText("");
+ addButton.setEnabled(false);
+ }
+
+ else if (e.getSource() == removeButton) {
+ String name = (String)compList.getSelectedValue();
+ if (name != null) {
+ Component c = (Component)compHash.get(name);
+ layoutPane.remove(c);
+ compHash.remove(name);
+ attrHash.remove(name);
+ compListModel.removeElement(name);
+ removeButton.setEnabled(false);
+ layoutPane.revalidate();
+ }
+ }
+
+ else if (e.getSource() == upButton) {
+ int index = compList.getSelectedIndex();
+ if (index > 0) {
+ String name = (String)compListModel.elementAt(index);
+ compListModel.removeElementAt(index);
+ compListModel.insertElementAt(name, index - 1);
+ compList.setSelectedIndex(index - 1);
+
+ Component c = (Component)compHash.get(name);
+ Attributes a = (Attributes)attrHash.get(name);
+ layoutPane.remove(index);
+ layoutPane.add(c, a.toString(), index - 1);
+ layoutPane.revalidate();
+ }
+ }
+
+ else if (e.getSource() == downButton) {
+ int index = compList.getSelectedIndex();
+ if (index > -1 && index < compListModel.getSize() - 1) {
+ String name = (String)compListModel.elementAt(index);
+ compListModel.removeElementAt(index);
+ compListModel.insertElementAt(name, index + 1);
+ compList.setSelectedIndex(index + 1);
+
+ Component c = (Component)compHash.get(name);
+ Attributes a = (Attributes)attrHash.get(name);
+ layoutPane.remove(index);
+ layoutPane.add(c, a.toString(), index + 1);
+ layoutPane.revalidate();
+ }
+ }
+
+ else if (e.getSource() == insetFields[0] ||
+ e.getSource() == insetFields[1] ||
+ e.getSource() == insetFields[2] ||
+ e.getSource() == insetFields[3] ||
+ e.getSource() == positionBox ||
+ e.getSource() == fillBox ||
+ e.getSource() == rowWeightField ||
+ e.getSource() == colWeightField ||
+ e.getSource() == colPositionField ||
+ e.getSource() == skipCellsField ||
+ e.getSource() == rowSpanField ||
+ e.getSource() == colSpanField) {
+ String name = (String)compList.getSelectedValue();
+ changeLayout(name);
+ }
+
+ else if (e.getSource() == columnsField ||
+ e.getSource() == tableInsetFields[0] ||
+ e.getSource() == tableInsetFields[1] ||
+ e.getSource() == tableInsetFields[2] ||
+ e.getSource() == tableInsetFields[3] ||
+ e.getSource() == rowGapField ||
+ e.getSource() == colGapField ||
+ e.getSource() == tablePositionBox ||
+ e.getSource() == tableFillBox ||
+ e.getSource() == tableCellInsetFields[0] ||
+ e.getSource() == tableCellInsetFields[1] ||
+ e.getSource() == tableCellInsetFields[2] ||
+ e.getSource() == tableCellInsetFields[3] ||
+ e.getSource() == tableCellPositionBox ||
+ e.getSource() == tableCellFillBox ||
+ e.getSource() == tableRowWeightField ||
+ e.getSource() == tableColWeightField) {
+ changeTableLayout();
+ }
+
+ else if (e.getSource() == exitItem) {
+ System.exit(0);
+ }
+
+ else if (e.getSource() == previewItem) {
+ if (layout.isVisible()) {
+ layout.setVisible(false);
+ }
+ else {
+ layout.setVisible(true);
+ }
+ }
+
+ else if (e.getSource() == packItem) {
+ layout.pack();
+ }
+
+ else if (e.getSource() == codeItem) {
+ if (code.isVisible()) {
+ code.setVisible(false);
+ }
+ else {
+ generateCode();
+ code.setVisible(true);
+ }
+ }
+
+ else if (e.getSource() == generateItem) {
+ generateCode();
+ }
+
+ else if (e.getSource() == aboutItem) {
+ JOptionPane.showMessageDialog(this,
+ "<html>" +
+ "<h1><font face=Dialog>Table Explorer V1.0</font></h1>" +
+ "<font face=Dialog>Written by Antonio Freixas<br>" +
+ "<a src=\"mailto:tony@freixas.org\">tonyf@freixas.org</a>",
+ "About Table Explorer</font>",
+ JOptionPane.INFORMATION_MESSAGE);
+ }
}
- else if (e.getSource() == columnsField ||
- e.getSource() == tableInsetFields[0] ||
- e.getSource() == tableInsetFields[1] ||
- e.getSource() == tableInsetFields[2] ||
- e.getSource() == tableInsetFields[3] ||
- e.getSource() == rowGapField ||
- e.getSource() == colGapField ||
- e.getSource() == tablePositionBox ||
- e.getSource() == tableFillBox ||
- e.getSource() == tableCellInsetFields[0] ||
- e.getSource() == tableCellInsetFields[1] ||
- e.getSource() == tableCellInsetFields[2] ||
- e.getSource() == tableCellInsetFields[3] ||
- e.getSource() == tableCellPositionBox ||
- e.getSource() == tableCellFillBox ||
- e.getSource() == tableRowWeightField ||
- e.getSource() == tableColWeightField) {
- changeTableLayout();
+ public void
+ valueChanged(
+ ListSelectionEvent e)
+ {
+ if (ignoreEvents) return;
+
+ if (e.getSource() == compList) {
+ String name = (String)compList.getSelectedValue();
+ int index = compList.getSelectedIndex();
+
+ boolean hasObject = name != null;
+
+ removeButton.setEnabled(hasObject);
+ upButton.setEnabled(hasObject && index != 0);
+ downButton.setEnabled(hasObject &&
+ index != compListModel.getSize() - 1);
+ enableAttributes(hasObject);
+
+ if (hasObject) {
+ Attributes attributes = (Attributes)attrHash.get(name);
+ setAttributes(attributes);
+ }
+ }
}
- else if (e.getSource() == exitItem) {
- System.exit(0);
+ public void
+ focusGained(
+ FocusEvent e)
+ {
+ if (e.getSource() == insetFields[0] ||
+ e.getSource() == insetFields[1] ||
+ e.getSource() == insetFields[2] ||
+ e.getSource() == insetFields[3] ||
+ e.getSource() == rowWeightField ||
+ e.getSource() == colWeightField ||
+ e.getSource() == colPositionField ||
+ e.getSource() == skipCellsField ||
+ e.getSource() == rowSpanField ||
+ e.getSource() == colSpanField||
+ e.getSource() == columnsField ||
+ e.getSource() == tableInsetFields[0] ||
+ e.getSource() == tableInsetFields[1] ||
+ e.getSource() == tableInsetFields[2] ||
+ e.getSource() == tableInsetFields[3] ||
+ e.getSource() == rowGapField ||
+ e.getSource() == colGapField ||
+ e.getSource() == tableCellInsetFields[0] ||
+ e.getSource() == tableCellInsetFields[1] ||
+ e.getSource() == tableCellInsetFields[2] ||
+ e.getSource() == tableCellInsetFields[3] ||
+ e.getSource() == tableRowWeightField ||
+ e.getSource() == tableColWeightField) {
+
+ JTextField field = (JTextField)e.getSource();
+ textWhenFocusGained = field.getText();
+ }
+ else if (e.getSource() == positionBox ||
+ e.getSource() == fillBox ||
+ e.getSource() == tablePositionBox ||
+ e.getSource() == tableFillBox ||
+ e.getSource() == tableCellPositionBox ||
+ e.getSource() == tableCellFillBox) {
+
+ JComboBox box = (JComboBox)e.getSource();
+ textWhenFocusGained = (String)box.getSelectedItem();
+ }
+ else {
+ textWhenFocusGained = null;
+ }
}
- else if (e.getSource() == previewItem) {
- if (layout.isVisible()) {
- layout.setVisible(false);
- }
- else {
- layout.setVisible(true);
- }
+ public void
+ focusLost(
+ FocusEvent e)
+ {
+ if (textWhenFocusGained != null) {
+ if (e.getSource() == insetFields[0] ||
+ e.getSource() == insetFields[1] ||
+ e.getSource() == insetFields[2] ||
+ e.getSource() == insetFields[3] ||
+ e.getSource() == rowWeightField ||
+ e.getSource() == colWeightField ||
+ e.getSource() == colPositionField ||
+ e.getSource() == skipCellsField ||
+ e.getSource() == rowSpanField ||
+ e.getSource() == colSpanField) {
+
+ JTextField field = (JTextField)e.getSource();
+ if (!textWhenFocusGained.equals(field.getText())) {
+ changeLayout();
+ }
+ }
+ else if (e.getSource() == positionBox ||
+ e.getSource() == fillBox) {
+ JComboBox box = (JComboBox)e.getSource();
+ if (!textWhenFocusGained.equals(box.getSelectedItem())) {
+ changeLayout();
+ }
+ }
+ else if (e.getSource() == columnsField ||
+ e.getSource() == tableInsetFields[0] ||
+ e.getSource() == tableInsetFields[1] ||
+ e.getSource() == tableInsetFields[2] ||
+ e.getSource() == tableInsetFields[3] ||
+ e.getSource() == rowGapField ||
+ e.getSource() == colGapField ||
+ e.getSource() == tableCellInsetFields[0] ||
+ e.getSource() == tableCellInsetFields[1] ||
+ e.getSource() == tableCellInsetFields[2] ||
+ e.getSource() == tableCellInsetFields[3] ||
+ e.getSource() == tableRowWeightField ||
+ e.getSource() == tableColWeightField) {
+
+ JTextField field = (JTextField)e.getSource();
+ if (!textWhenFocusGained.equals(field.getText())) {
+ changeTableLayout();
+ }
+ }
+
+ else if (e.getSource() == tablePositionBox ||
+ e.getSource() == tableFillBox ||
+ e.getSource() == tableCellPositionBox ||
+ e.getSource() == tableCellFillBox) {
+
+ JComboBox box = (JComboBox)e.getSource();
+ if (!textWhenFocusGained.equals(box.getSelectedItem())) {
+ changeTableLayout();
+ }
+ }
+ }
+
+ textWhenFocusGained = null;
}
- else if (e.getSource() == packItem) {
- layout.pack();
+ public void
+ menuCanceled(
+ MenuEvent e)
+ {
}
- else if (e.getSource() == codeItem) {
- if (code.isVisible()) {
- code.setVisible(false);
- }
- else {
- generateCode();
- code.setVisible(true);
- }
+ public void
+ menuDeselected(
+ MenuEvent e)
+ {
}
- else if (e.getSource() == generateItem) {
- generateCode();
+ public void
+ menuSelected(
+ MenuEvent e)
+ {
+ if (e.getSource() == windowMenu) {
+ if (layout.isVisible()) {
+ previewItem.setText("Hide Preview Window");
+ }
+ else {
+ previewItem.setText("Show Preview Window");
+ }
+ if (code.isVisible()) {
+ codeItem.setText("Hide Code Window");
+ }
+ else {
+ codeItem.setText("Show Code Window");
+ }
+ }
}
- else if (e.getSource() == aboutItem) {
- JOptionPane.showMessageDialog(this,
- "<html>" +
- "<h1><font face=Dialog>Table Explorer V1.0</font></h1>" +
- "<font face=Dialog>Written by Antonio Freixas<br>" +
- "<a src=\"mailto:tony@freixas.org\">tonyf@freixas.org</a>",
- "About Table Explorer</font>",
- JOptionPane.INFORMATION_MESSAGE);
- }
-}
-
-public void
-valueChanged(
- ListSelectionEvent e)
-{
- if (ignoreEvents) return;
-
- if (e.getSource() == compList) {
- String name = (String)compList.getSelectedValue();
- int index = compList.getSelectedIndex();
-
- boolean hasObject = name != null;
-
- removeButton.setEnabled(hasObject);
- upButton.setEnabled(hasObject && index != 0);
- downButton.setEnabled(hasObject &&
- index != compListModel.getSize() - 1);
- enableAttributes(hasObject);
-
- if (hasObject) {
- Attributes attributes = (Attributes)attrHash.get(name);
- setAttributes(attributes);
- }
- }
-}
-
-public void
-focusGained(
- FocusEvent e)
-{
- if (e.getSource() == insetFields[0] ||
- e.getSource() == insetFields[1] ||
- e.getSource() == insetFields[2] ||
- e.getSource() == insetFields[3] ||
- e.getSource() == rowWeightField ||
- e.getSource() == colWeightField ||
- e.getSource() == colPositionField ||
- e.getSource() == skipCellsField ||
- e.getSource() == rowSpanField ||
- e.getSource() == colSpanField||
- e.getSource() == columnsField ||
- e.getSource() == tableInsetFields[0] ||
- e.getSource() == tableInsetFields[1] ||
- e.getSource() == tableInsetFields[2] ||
- e.getSource() == tableInsetFields[3] ||
- e.getSource() == rowGapField ||
- e.getSource() == colGapField ||
- e.getSource() == tableCellInsetFields[0] ||
- e.getSource() == tableCellInsetFields[1] ||
- e.getSource() == tableCellInsetFields[2] ||
- e.getSource() == tableCellInsetFields[3] ||
- e.getSource() == tableRowWeightField ||
- e.getSource() == tableColWeightField) {
-
- JTextField field = (JTextField)e.getSource();
- textWhenFocusGained = field.getText();
- }
- else if (e.getSource() == positionBox ||
- e.getSource() == fillBox ||
- e.getSource() == tablePositionBox ||
- e.getSource() == tableFillBox ||
- e.getSource() == tableCellPositionBox ||
- e.getSource() == tableCellFillBox) {
-
- JComboBox box = (JComboBox)e.getSource();
- textWhenFocusGained = (String)box.getSelectedItem();
- }
- else {
- textWhenFocusGained = null;
- }
-}
-
-public void
-focusLost(
- FocusEvent e)
-{
- if (textWhenFocusGained != null) {
- if (e.getSource() == insetFields[0] ||
- e.getSource() == insetFields[1] ||
- e.getSource() == insetFields[2] ||
- e.getSource() == insetFields[3] ||
- e.getSource() == rowWeightField ||
- e.getSource() == colWeightField ||
- e.getSource() == colPositionField ||
- e.getSource() == skipCellsField ||
- e.getSource() == rowSpanField ||
- e.getSource() == colSpanField) {
-
- JTextField field = (JTextField)e.getSource();
- if (!textWhenFocusGained.equals(field.getText())) {
- changeLayout();
- }
- }
- else if (e.getSource() == positionBox ||
- e.getSource() == fillBox) {
- JComboBox box = (JComboBox)e.getSource();
- if (!textWhenFocusGained.equals(box.getSelectedItem())) {
- changeLayout();
- }
- }
- else if (e.getSource() == columnsField ||
- e.getSource() == tableInsetFields[0] ||
- e.getSource() == tableInsetFields[1] ||
- e.getSource() == tableInsetFields[2] ||
- e.getSource() == tableInsetFields[3] ||
- e.getSource() == rowGapField ||
- e.getSource() == colGapField ||
- e.getSource() == tableCellInsetFields[0] ||
- e.getSource() == tableCellInsetFields[1] ||
- e.getSource() == tableCellInsetFields[2] ||
- e.getSource() == tableCellInsetFields[3] ||
- e.getSource() == tableRowWeightField ||
- e.getSource() == tableColWeightField) {
-
- JTextField field = (JTextField)e.getSource();
- if (!textWhenFocusGained.equals(field.getText())) {
- changeTableLayout();
- }
- }
-
- else if (e.getSource() == tablePositionBox ||
- e.getSource() == tableFillBox ||
- e.getSource() == tableCellPositionBox ||
- e.getSource() == tableCellFillBox) {
-
- JComboBox box = (JComboBox)e.getSource();
- if (!textWhenFocusGained.equals(box.getSelectedItem())) {
- changeTableLayout();
- }
- }
- }
-
- textWhenFocusGained = null;
-}
-
-public void
-menuCanceled(
- MenuEvent e)
-{
-}
-
-public void
-menuDeselected(
- MenuEvent e)
-{
-}
-
-public void
-menuSelected(
- MenuEvent e)
-{
- if (e.getSource() == windowMenu) {
- if (layout.isVisible()) {
- previewItem.setText("Hide Preview Window");
- }
- else {
- previewItem.setText("Show Preview Window");
- }
- if (code.isVisible()) {
- codeItem.setText("Hide Code Window");
- }
- else {
- codeItem.setText("Show Code Window");
- }
- }
-}
-
//**********************************************************************
// Package Public
//**********************************************************************
-JMenuBar
-createJMenuBar()
-{
- JMenuBar menuBar = new JMenuBar();
-
- fileMenu = new JMenu("File");
- menuBar.add(fileMenu);
- windowMenu = new JMenu("Window");
- windowMenu.addMenuListener(this);
- menuBar.add(windowMenu);
- helpMenu = new JMenu("Help");
- menuBar.add(helpMenu);
+ JMenuBar
+ createJMenuBar()
+ {
+ JMenuBar menuBar = new JMenuBar();
- exitItem = new JMenuItem("Exit");
- exitItem.addActionListener(this);
- fileMenu.add(exitItem);
+ fileMenu = new JMenu("File");
+ menuBar.add(fileMenu);
+ windowMenu = new JMenu("Window");
+ windowMenu.addMenuListener(this);
+ menuBar.add(windowMenu);
+ helpMenu = new JMenu("Help");
+ menuBar.add(helpMenu);
- previewItem = new JMenuItem("Show Preview Window");
- previewItem.addActionListener(this);
- windowMenu.add(previewItem);
+ exitItem = new JMenuItem("Exit");
+ exitItem.addActionListener(this);
+ fileMenu.add(exitItem);
- packItem = new JMenuItem("Pack Preview Window");
- packItem.addActionListener(this);
- windowMenu.add(packItem);
+ previewItem = new JMenuItem("Show Preview Window");
+ previewItem.addActionListener(this);
+ windowMenu.add(previewItem);
- windowMenu.add(new JSeparator());
+ packItem = new JMenuItem("Pack Preview Window");
+ packItem.addActionListener(this);
+ windowMenu.add(packItem);
- codeItem = new JMenuItem("Show Code Window");
- codeItem.addActionListener(this);
- windowMenu.add(codeItem);
+ windowMenu.add(new JSeparator());
- generateItem = new JMenuItem("Generate Code");
- generateItem.addActionListener(this);
- windowMenu.add(generateItem);
+ codeItem = new JMenuItem("Show Code Window");
+ codeItem.addActionListener(this);
+ windowMenu.add(codeItem);
- aboutItem = new JMenuItem("About TableExplorer...");
- aboutItem.addActionListener(this);
- helpMenu.add(aboutItem);
+ generateItem = new JMenuItem("Generate Code");
+ generateItem.addActionListener(this);
+ windowMenu.add(generateItem);
- return menuBar;
-}
-
-Component
-createButtonPane()
-{
- JPanel topLevel = new JPanel(new TableLayout("cols=1"));
+ aboutItem = new JMenuItem("About TableExplorer...");
+ aboutItem.addActionListener(this);
+ helpMenu.add(aboutItem);
- upButton = new JButton("Up");
- upButton.setEnabled(false);
- upButton.addActionListener(this);
+ return menuBar;
+ }
- downButton = new JButton("Down");
- downButton.setEnabled(false);
- downButton.addActionListener(this);
+ Component
+ createButtonPane()
+ {
+ JPanel topLevel = new JPanel(new TableLayout("cols=1"));
- removeButton = new JButton("Remove");
- removeButton.setEnabled(false);
- removeButton.addActionListener(this);
+ upButton = new JButton("Up");
+ upButton.setEnabled(false);
+ upButton.addActionListener(this);
- addButton = new JButton("Add");
- addButton.addActionListener(this);
+ downButton = new JButton("Down");
+ downButton.setEnabled(false);
+ downButton.addActionListener(this);
- topLevel.add(upButton);
- topLevel.add(downButton, "rweight=1 n fh");
- topLevel.add(removeButton, "rweight=1 s fh ");
- topLevel.add(addButton);
+ removeButton = new JButton("Remove");
+ removeButton.setEnabled(false);
+ removeButton.addActionListener(this);
- return topLevel;
-}
+ addButton = new JButton("Add");
+ addButton.addActionListener(this);
-Component
-createListPane()
-{
- JPanel topLevel = new JPanel(new TableLayout("cols=1 rgap=2"));
+ topLevel.add(upButton);
+ topLevel.add(downButton, "rweight=1 n fh");
+ topLevel.add(removeButton, "rweight=1 s fh ");
+ topLevel.add(addButton);
- compListModel = new DefaultListModel();
- compList = new JList(compListModel);
- compList.setVisibleRowCount(20);
- compList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
- compList.addListSelectionListener(this);
+ return topLevel;
+ }
- compEntryField = new JTextField("Start Here!");
- compEntryField.selectAll();
- compEntryField.setColumns(20);
- compEntryField.addCaretListener(this);
- compEntryField.addActionListener(this);
+ Component
+ createListPane()
+ {
+ JPanel topLevel = new JPanel(new TableLayout("cols=1 rgap=2"));
- topLevel.add(compList, "rweight=1");
- topLevel.add(compEntryField);
+ compListModel = new DefaultListModel();
+ compList = new JList(compListModel);
+ compList.setVisibleRowCount(20);
+ compList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+ compList.addListSelectionListener(this);
- return topLevel;
-}
+ compEntryField = new JTextField("Start Here!");
+ compEntryField.selectAll();
+ compEntryField.setColumns(20);
+ compEntryField.addCaretListener(this);
+ compEntryField.addActionListener(this);
-Component
-createAttributePane()
-{
- JPanel topLevel = new JPanel(new TableLayout("cols=3 rgap=2 cgap=5"));
+ topLevel.add(compList, "rweight=1");
+ topLevel.add(compEntryField);
- // Table Attributes
+ return topLevel;
+ }
- topLevel.add(new JLabel("Table Attributes"), "cspan=3");
+ Component
+ createAttributePane()
+ {
+ JPanel topLevel = new JPanel(new TableLayout("cols=3 rgap=2 cgap=5"));
- JPanel spacer1= new JPanel();
- spacer1.setSize(20, 1);
- topLevel.add(spacer1);
- topLevel.add(new JLabel("Columns"));
- columnsField = new JTextField(10);
- columnsField.addActionListener(this);
- columnsField.addFocusListener(this);
- topLevel.add(columnsField);
+ // Table Attributes
- topLevel.add(new JLabel("Table insets"), "col=1");
- topLevel.add(createInsetsPane(tableInsetFields));
+ topLevel.add(new JLabel("Table Attributes"), "cspan=3");
- topLevel.add(new JLabel("Row gap"), "col=1");
- rowGapField = new JTextField(10);
- rowGapField.addActionListener(this);
- rowGapField.addFocusListener(this);
- topLevel.add(rowGapField);
-
- topLevel.add(new JLabel("Column gap"), "col=1");
- colGapField = new JTextField(10);
- colGapField.addActionListener(this);
- colGapField.addFocusListener(this);
- topLevel.add(colGapField);
-
- topLevel.add(new JLabel("Table position"), "col=1");
- tablePositionBox = new JComboBox(tablePositionList);
- tablePositionBox.addActionListener(this);
- topLevel.add(tablePositionBox);
-
- topLevel.add(new JLabel("Table fill"), "col=1");
- tableFillBox = new JComboBox(tableFillList);
- tableFillBox.addActionListener(this);
- topLevel.add(tableFillBox);
-
- // Table Cell Defaults
-
- topLevel.add(new JLabel("Table Cell Defaults"), "cspan=3 itop=20");
-
- topLevel.add(new JLabel("Cell insets"), "col=1");
- topLevel.add(createInsetsPane(tableCellInsetFields));
-
- topLevel.add(new JLabel("Cell position"), "col=1");
- tableCellPositionBox = new JComboBox(positionList);
- tableCellPositionBox.addActionListener(this);
- topLevel.add(tableCellPositionBox);
-
- topLevel.add(new JLabel("Cell fill"), "col=1");
- tableCellFillBox = new JComboBox(fillList);
- tableCellFillBox.addActionListener(this);
- topLevel.add(tableCellFillBox);
-
- topLevel.add(new JLabel("Row weight"), "col=1");
- tableRowWeightField = new JTextField(10);
- tableRowWeightField.addActionListener(this);
- tableRowWeightField.addFocusListener(this);
- topLevel.add(tableRowWeightField);
-
- topLevel.add(new JLabel("Column weight"), "col=1");
- tableColWeightField = new JTextField(10);
- tableColWeightField.addActionListener(this);
-
- tableColWeightField.addFocusListener(this);
- topLevel.add(tableColWeightField);
-
- topLevel.add(new JLabel("Attributes"), "itop=5 col=0 cspan=2");
- tableAttributesField = new JTextField();
- tableAttributesField.setEditable(false);
- topLevel.add(tableAttributesField, "itop=5");
-
- // Make sure components are initialized as per the default table
- // attributes
-
- tableAttributes = new TableAttributes();
- setTableAttributes(tableAttributes);
-
- // Cell Attributes
-
- topLevel.add(new JSeparator(), "cspan=3 itop=20 ibottom=5");
-
- topLevel.add(new JLabel("Cell Attributes"), "cspan=3");
-
- topLevel.add(new JLabel("Cell insets"), "col=1");
- topLevel.add(createInsetsPane(insetFields));
-
- topLevel.add(new JLabel("Cell position"), "col=1");
- positionBox = new JComboBox(positionList);
- positionBox.addActionListener(this);
- topLevel.add(positionBox);
-
- topLevel.add(new JLabel("Cell fill"), "col=1");
- fillBox = new JComboBox(fillList);
- fillBox.addActionListener(this);
- topLevel.add(fillBox);
-
- topLevel.add(new JLabel("Row weight"), "col=1");
- rowWeightField = new JTextField(10);
- rowWeightField.addActionListener(this);
- rowWeightField.addFocusListener(this);
- topLevel.add(rowWeightField);
-
- topLevel.add(new JLabel("Column weight"), "col=1");
- colWeightField = new JTextField(10);
- colWeightField.addActionListener(this);
- colWeightField.addFocusListener(this);
- topLevel.add(colWeightField);
-
- topLevel.add(new JLabel("Column position"), "col=1");
- colPositionField = new JTextField(10);
- colPositionField.addActionListener(this);
- colPositionField.addFocusListener(this);
- topLevel.add(colPositionField);
-
- topLevel.add(new JLabel("Skip cells"), "col=1");
- skipCellsField = new JTextField(10);
- skipCellsField.addActionListener(this);
- skipCellsField.addFocusListener(this);
- topLevel.add(skipCellsField);
-
- topLevel.add(new JLabel("Row span"), "col=1");
- rowSpanField = new JTextField(10);
- rowSpanField.addActionListener(this);
- rowSpanField.addFocusListener(this);
- topLevel.add(rowSpanField);
+ JPanel spacer1= new JPanel();
+ spacer1.setSize(20, 1);
+ topLevel.add(spacer1);
+ topLevel.add(new JLabel("Columns"));
+ columnsField = new JTextField(10);
+ columnsField.addActionListener(this);
+ columnsField.addFocusListener(this);
+ topLevel.add(columnsField);
- topLevel.add(new JLabel("Column span"), "col=1");
- colSpanField = new JTextField(10);
- colSpanField.addActionListener(this);
- colSpanField.addFocusListener(this);
- topLevel.add(colSpanField);
-
- topLevel.add(new JLabel("Attributes"), "itop=5 col=0 cspan=2");
- cellAttributesField = new JTextField();
- cellAttributesField.setEditable(false);
- topLevel.add(cellAttributesField, "itop=5");
-
- enableAttributes(false);
-
- return topLevel;
-}
+ topLevel.add(new JLabel("Table insets"), "col=1");
+ topLevel.add(createInsetsPane(tableInsetFields));
-Component
-createInsetsPane(
- JTextField[] insetFields)
-{
- JPanel topLevel = new JPanel(new TableLayout("cols=3"));
+ topLevel.add(new JLabel("Row gap"), "col=1");
+ rowGapField = new JTextField(10);
+ rowGapField.addActionListener(this);
+ rowGapField.addFocusListener(this);
+ topLevel.add(rowGapField);
+
+ topLevel.add(new JLabel("Column gap"), "col=1");
+ colGapField = new JTextField(10);
+ colGapField.addActionListener(this);
+ colGapField.addFocusListener(this);
+ topLevel.add(colGapField);
+
+ topLevel.add(new JLabel("Table position"), "col=1");
+ tablePositionBox = new JComboBox(tablePositionList);
+ tablePositionBox.addActionListener(this);
+ topLevel.add(tablePositionBox);
+
+ topLevel.add(new JLabel("Table fill"), "col=1");
+ tableFillBox = new JComboBox(tableFillList);
+ tableFillBox.addActionListener(this);
+ topLevel.add(tableFillBox);
+
+ // Table Cell Defaults
+
+ topLevel.add(new JLabel("Table Cell Defaults"), "cspan=3 itop=20");
+
+ topLevel.add(new JLabel("Cell insets"), "col=1");
+ topLevel.add(createInsetsPane(tableCellInsetFields));
+
+ topLevel.add(new JLabel("Cell position"), "col=1");
+ tableCellPositionBox = new JComboBox(positionList);
+ tableCellPositionBox.addActionListener(this);
+ topLevel.add(tableCellPositionBox);
+
+ topLevel.add(new JLabel("Cell fill"), "col=1");
+ tableCellFillBox = new JComboBox(fillList);
+ tableCellFillBox.addActionListener(this);
+ topLevel.add(tableCellFillBox);
+
+ topLevel.add(new JLabel("Row weight"), "col=1");
+ tableRowWeightField = new JTextField(10);
+ tableRowWeightField.addActionListener(this);
+ tableRowWeightField.addFocusListener(this);
+ topLevel.add(tableRowWeightField);
+
+ topLevel.add(new JLabel("Column weight"), "col=1");
+ tableColWeightField = new JTextField(10);
+ tableColWeightField.addActionListener(this);
+
+ tableColWeightField.addFocusListener(this);
+ topLevel.add(tableColWeightField);
+
+ topLevel.add(new JLabel("Attributes"), "itop=5 col=0 cspan=2");
+ tableAttributesField = new JTextField();
+ tableAttributesField.setEditable(false);
+ topLevel.add(tableAttributesField, "itop=5");
+
+ // Make sure components are initialized as per the default table
+ // attributes
+
+ tableAttributes = new TableAttributes();
+ setTableAttributes(tableAttributes);
+
+ // Cell Attributes
+
+ topLevel.add(new JSeparator(), "cspan=3 itop=20 ibottom=5");
+
+ topLevel.add(new JLabel("Cell Attributes"), "cspan=3");
+
+ topLevel.add(new JLabel("Cell insets"), "col=1");
+ topLevel.add(createInsetsPane(insetFields));
+
+ topLevel.add(new JLabel("Cell position"), "col=1");
+ positionBox = new JComboBox(positionList);
+ positionBox.addActionListener(this);
+ topLevel.add(positionBox);
+
+ topLevel.add(new JLabel("Cell fill"), "col=1");
+ fillBox = new JComboBox(fillList);
+ fillBox.addActionListener(this);
+ topLevel.add(fillBox);
+
+ topLevel.add(new JLabel("Row weight"), "col=1");
+ rowWeightField = new JTextField(10);
+ rowWeightField.addActionListener(this);
+ rowWeightField.addFocusListener(this);
+ topLevel.add(rowWeightField);
+
+ topLevel.add(new JLabel("Column weight"), "col=1");
+ colWeightField = new JTextField(10);
+ colWeightField.addActionListener(this);
+ colWeightField.addFocusListener(this);
+ topLevel.add(colWeightField);
+
+ topLevel.add(new JLabel("Column position"), "col=1");
+ colPositionField = new JTextField(10);
+ colPositionField.addActionListener(this);
+ colPositionField.addFocusListener(this);
+ topLevel.add(colPositionField);
+
+ topLevel.add(new JLabel("Skip cells"), "col=1");
+ skipCellsField = new JTextField(10);
+ skipCellsField.addActionListener(this);
+ skipCellsField.addFocusListener(this);
+ topLevel.add(skipCellsField);
+
+ topLevel.add(new JLabel("Row span"), "col=1");
+ rowSpanField = new JTextField(10);
+ rowSpanField.addActionListener(this);
+ rowSpanField.addFocusListener(this);
+ topLevel.add(rowSpanField);
- for (int i = 0; i < 4; i++) {
- insetFields[i] = new JTextField(2);
- insetFields[i].addActionListener(this);
- insetFields[i].addFocusListener(this);
+ topLevel.add(new JLabel("Column span"), "col=1");
+ colSpanField = new JTextField(10);
+ colSpanField.addActionListener(this);
+ colSpanField.addFocusListener(this);
+ topLevel.add(colSpanField);
+
+ topLevel.add(new JLabel("Attributes"), "itop=5 col=0 cspan=2");
+ cellAttributesField = new JTextField();
+ cellAttributesField.setEditable(false);
+ topLevel.add(cellAttributesField, "itop=5");
+
+ enableAttributes(false);
+
+ return topLevel;
}
- topLevel.add(insetFields[0], "col=1");
- topLevel.add(insetFields[1], "col=0");
- topLevel.add(insetFields[2], "col=2");
- topLevel.add(insetFields[3], "col=1");
+ Component
+ createInsetsPane(
+ JTextField[] insetFields)
+ {
+ JPanel topLevel = new JPanel(new TableLayout("cols=3"));
- return topLevel;
-}
+ for (int i = 0; i < 4; i++) {
+ insetFields[i] = new JTextField(2);
+ insetFields[i].addActionListener(this);
+ insetFields[i].addFocusListener(this);
+ }
-JPanel
-createCodePane()
-{
- JPanel topLevel = new JPanel(new TableLayout("cols=2 rgap=2 cgap=5"));
+ topLevel.add(insetFields[0], "col=1");
+ topLevel.add(insetFields[1], "col=0");
+ topLevel.add(insetFields[2], "col=2");
+ topLevel.add(insetFields[3], "col=1");
- codeTextArea = new JTextArea(15, 30);
- codeTextScroll = new JScrollPane(codeTextArea);
- topLevel.add(codeTextScroll, "cspan=2 rweight=1");
+ return topLevel;
+ }
- return topLevel;
-}
+ JPanel
+ createCodePane()
+ {
+ JPanel topLevel = new JPanel(new TableLayout("cols=2 rgap=2 cgap=5"));
-void
-addToLayout(
- Component c)
-{
- try {
- layoutPane.add(c);
- }
- catch (IllegalArgumentException e) {
- JOptionPane.showMessageDialog(
- this, e.toString(), "Attribute Error", JOptionPane.ERROR_MESSAGE);
- }
- layoutPane.revalidate();
-}
+ codeTextArea = new JTextArea(15, 30);
+ codeTextScroll = new JScrollPane(codeTextArea);
+ topLevel.add(codeTextScroll, "cspan=2 rweight=1");
-void
-addToLayout(
- Component c,
- String a,
- int index)
-{
- try {
- layoutPane.add(c, a, index);
- }
- catch (IllegalArgumentException e) {
- JOptionPane.showMessageDialog(
- this, e.toString(), "Attribute Error", JOptionPane.ERROR_MESSAGE);
+ return topLevel;
}
- layoutPane.revalidate();
-}
-void
-changeTableLayout()
-{
- tableAttributes = getTableAttributes();
- try {
- ((TableLayout)layoutPane.getLayout()).setTableAttributes(
- tableAttributes.toString());
+ void
+ addToLayout(
+ Component c)
+ {
+ try {
+ layoutPane.add(c);
+ }
+ catch (IllegalArgumentException e) {
+ JOptionPane.showMessageDialog(
+ this, e.toString(), "Attribute Error", JOptionPane.ERROR_MESSAGE);
+ }
+ layoutPane.revalidate();
}
- catch (IllegalArgumentException e) {
- JOptionPane.showMessageDialog(
- this, e.toString(), "Attribute Error", JOptionPane.ERROR_MESSAGE);
- }
- layoutPane.revalidate();
- setTableAttributes(tableAttributes); // Normalize appearance
-}
-
-void
-changeLayout()
-{
- String name = (String)compList.getSelectedValue();
- changeLayout(name);
-}
-void
-changeLayout(
- String name)
-{
- if (name == null) return;
-
- Component c = (Component)compHash.get(name);
- Attributes attributes = getAttributes();
- try {
- ((TableLayout)layoutPane.getLayout()).setAttributes(
- c, attributes.toString());
- }
- catch (IllegalArgumentException e) {
- JOptionPane.showMessageDialog(
- this, e.toString(), "Attribute Error", JOptionPane.ERROR_MESSAGE);
+ void
+ addToLayout(
+ Component c,
+ String a,
+ int index)
+ {
+ try {
+ layoutPane.add(c, a, index);
+ }
+ catch (IllegalArgumentException e) {
+ JOptionPane.showMessageDialog(
+ this, e.toString(), "Attribute Error", JOptionPane.ERROR_MESSAGE);
+ }
+ layoutPane.revalidate();
}
- layoutPane.revalidate();
- setAttributes(attributes); // Normalize appearance
- attrHash.put(name, attributes);
-}
-TableAttributes
-getTableAttributes()
-{
- TableAttributes attributes = new TableAttributes();
-
- attributes.columns = getNumber(attributes.columns, columnsField);
- attributes.rGap = getNumber(attributes.rGap, rowGapField);
- attributes.cGap = getNumber(attributes.cGap, colGapField);
-
- attributes.tableInsets.top =
- getNumber(attributes.tableInsets.top, tableInsetFields[0]);
- attributes.tableInsets.left =
- getNumber(attributes.tableInsets.left, tableInsetFields[1]);
- attributes.tableInsets.right =
- getNumber(attributes.tableInsets.right, tableInsetFields[2]);
- attributes.tableInsets.bottom =
- getNumber(attributes.tableInsets.bottom, tableInsetFields[3]);
-
- attributes.tablePosition = getString(tablePositionBox);
- attributes.tableFill = getString(tableFillBox);
-
- attributes.insets.top =
- getNumber(attributes.insets.top, tableCellInsetFields[0]);
- attributes.insets.left =
- getNumber(attributes.insets.left, tableCellInsetFields[1]);
- attributes.insets.right =
- getNumber(attributes.insets.right, tableCellInsetFields[2]);
- attributes.insets.bottom =
- getNumber(attributes.insets.bottom, tableCellInsetFields[3]);
-
- attributes.position = getString(tableCellPositionBox);
- attributes.fill = getString(tableCellFillBox);
- attributes.rWeight = getNumber(attributes.rWeight, tableRowWeightField);
- attributes.cWeight = getNumber(attributes.cWeight, tableColWeightField);
-
- return attributes;
-}
-
-void
-setTableAttributes(
- TableAttributes attributes)
-{
- ignoreEvents = true;
-
- columnsField.setText(Integer.toString(attributes.columns));
- rowGapField.setText(Integer.toString(attributes.rGap));
- colGapField.setText(Integer.toString(attributes.cGap));
-
- tableInsetFields[0].setText(
- Integer.toString(attributes.tableInsets.top));
- tableInsetFields[1].setText(
- Integer.toString(attributes.tableInsets.left));
- tableInsetFields[2].setText(
- Integer.toString(attributes.tableInsets.right));
- tableInsetFields[3].setText(
- Integer.toString(attributes.tableInsets.bottom));
-
- tablePositionBox.setSelectedItem(attributes.tablePosition);
- tableFillBox.setSelectedItem(attributes.tableFill);
-
- tableCellInsetFields[0].setText(
- Integer.toString(attributes.insets.top));
- tableCellInsetFields[1].setText(
- Integer.toString(attributes.insets.left));
- tableCellInsetFields[2].setText(
- Integer.toString(attributes.insets.right));
- tableCellInsetFields[3].setText(
- Integer.toString(attributes.insets.bottom));
-
- tableCellPositionBox.setSelectedItem(attributes.position);
- tableCellFillBox.setSelectedItem(attributes.fill);
- tableRowWeightField.setText(Integer.toString(attributes.rWeight));
- tableColWeightField.setText(Integer.toString(attributes.cWeight));
-
- tableAttributesField.setText(attributes.toString());
-
- ignoreEvents = false;
-}
-
-Attributes
-getAttributes()
-{
- Attributes attributes = new Attributes();
-
- attributes.insets.top =
- getNumber(attributes.insets.top, insetFields[0]);
- attributes.insets.left =
- getNumber(attributes.insets.left, insetFields[1]);
- attributes.insets.right =
- getNumber(attributes.insets.right, insetFields[2]);
- attributes.insets.bottom =
- getNumber(attributes.insets.bottom, insetFields[3]);
-
- attributes.position = getString(positionBox);
- attributes.fill = getString(fillBox);
- attributes.rWeight = getNumber(attributes.rWeight, rowWeightField);
- attributes.cWeight = getNumber(attributes.cWeight, colWeightField);
- attributes.column = getNumber(attributes.column, colPositionField);
- attributes.skip = getNumber(attributes.skip, skipCellsField);
- attributes.rSpan = getNumber(attributes.rSpan, rowSpanField);
- attributes.cSpan = getNumber(attributes.cSpan, colSpanField);
-
- return attributes;
-}
-
-void
-setAttributes(
- Attributes attributes)
-{
- ignoreEvents = true;
-
- insetFields[0].setText(Integer.toString(attributes.insets.top));
- insetFields[1].setText(Integer.toString(attributes.insets.left));
- insetFields[2].setText(Integer.toString(attributes.insets.right));
- insetFields[3].setText(Integer.toString(attributes.insets.bottom));
+ void
+ changeTableLayout()
+ {
+ tableAttributes = getTableAttributes();
+ try {
+ ((TableLayout)layoutPane.getLayout()).setTableAttributes(
+ tableAttributes.toString());
+ }
+ catch (IllegalArgumentException e) {
+ JOptionPane.showMessageDialog(
+ this, e.toString(), "Attribute Error", JOptionPane.ERROR_MESSAGE);
+ }
+ layoutPane.revalidate();
+ setTableAttributes(tableAttributes); // Normalize appearance
+ }
- positionBox.setSelectedItem(attributes.position);
- fillBox.setSelectedItem(attributes.fill);
- rowWeightField.setText(Integer.toString(attributes.rWeight));
- colWeightField.setText(Integer.toString(attributes.cWeight));
- colPositionField.setText(Integer.toString(attributes.column));
- skipCellsField.setText(Integer.toString(attributes.skip));
- rowSpanField.setText(Integer.toString(attributes.rSpan));
- colSpanField.setText(Integer.toString(attributes.cSpan));
+ void
+ changeLayout()
+ {
+ String name = (String)compList.getSelectedValue();
+ changeLayout(name);
+ }
- cellAttributesField.setText(attributes.toString());
+ void
+ changeLayout(
+ String name)
+ {
+ if (name == null) return;
+
+ Component c = (Component)compHash.get(name);
+ Attributes attributes = getAttributes();
+ try {
+ ((TableLayout)layoutPane.getLayout()).setAttributes(
+ c, attributes.toString());
+ }
+ catch (IllegalArgumentException e) {
+ JOptionPane.showMessageDialog(
+ this, e.toString(), "Attribute Error", JOptionPane.ERROR_MESSAGE);
+ }
+ layoutPane.revalidate();
+ setAttributes(attributes); // Normalize appearance
+ attrHash.put(name, attributes);
+ }
- ignoreEvents = false;
-}
+ TableAttributes
+ getTableAttributes()
+ {
+ TableAttributes attributes = new TableAttributes();
+
+ attributes.columns = getNumber(attributes.columns, columnsField);
+ attributes.rGap = getNumber(attributes.rGap, rowGapField);
+ attributes.cGap = getNumber(attributes.cGap, colGapField);
+
+ attributes.tableInsets.top =
+ getNumber(attributes.tableInsets.top, tableInsetFields[0]);
+ attributes.tableInsets.left =
+ getNumber(attributes.tableInsets.left, tableInsetFields[1]);
+ attributes.tableInsets.right =
+ getNumber(attributes.tableInsets.right, tableInsetFields[2]);
+ attributes.tableInsets.bottom =
+ getNumber(attributes.tableInsets.bottom, tableInsetFields[3]);
+
+ attributes.tablePosition = getString(tablePositionBox);
+ attributes.tableFill = getString(tableFillBox);
+
+ attributes.insets.top =
+ getNumber(attributes.insets.top, tableCellInsetFields[0]);
+ attributes.insets.left =
+ getNumber(attributes.insets.left, tableCellInsetFields[1]);
+ attributes.insets.right =
+ getNumber(attributes.insets.right, tableCellInsetFields[2]);
+ attributes.insets.bottom =
+ getNumber(attributes.insets.bottom, tableCellInsetFields[3]);
+
+ attributes.position = getString(tableCellPositionBox);
+ attributes.fill = getString(tableCellFillBox);
+ attributes.rWeight = getNumber(attributes.rWeight, tableRowWeightField);
+ attributes.cWeight = getNumber(attributes.cWeight, tableColWeightField);
+
+ return attributes;
+ }
-int
-getNumber(
- int defaultValue,
- JTextField field)
-{
- String text = field.getText().trim();
- if (text.length() == 0) return defaultValue;
+ void
+ setTableAttributes(
+ TableAttributes attributes)
+ {
+ ignoreEvents = true;
+
+ columnsField.setText(Integer.toString(attributes.columns));
+ rowGapField.setText(Integer.toString(attributes.rGap));
+ colGapField.setText(Integer.toString(attributes.cGap));
+
+ tableInsetFields[0].setText(
+ Integer.toString(attributes.tableInsets.top));
+ tableInsetFields[1].setText(
+ Integer.toString(attributes.tableInsets.left));
+ tableInsetFields[2].setText(
+ Integer.toString(attributes.tableInsets.right));
+ tableInsetFields[3].setText(
+ Integer.toString(attributes.tableInsets.bottom));
+
+ tablePositionBox.setSelectedItem(attributes.tablePosition);
+ tableFillBox.setSelectedItem(attributes.tableFill);
+
+ tableCellInsetFields[0].setText(
+ Integer.toString(attributes.insets.top));
+ tableCellInsetFields[1].setText(
+ Integer.toString(attributes.insets.left));
+ tableCellInsetFields[2].setText(
+ Integer.toString(attributes.insets.right));
+ tableCellInsetFields[3].setText(
+ Integer.toString(attributes.insets.bottom));
+
+ tableCellPositionBox.setSelectedItem(attributes.position);
+ tableCellFillBox.setSelectedItem(attributes.fill);
+ tableRowWeightField.setText(Integer.toString(attributes.rWeight));
+ tableColWeightField.setText(Integer.toString(attributes.cWeight));
+
+ tableAttributesField.setText(attributes.toString());
+
+ ignoreEvents = false;
+ }
- int value = 0;
- try {
- value = Integer.parseInt(text);
+ Attributes
+ getAttributes()
+ {
+ Attributes attributes = new Attributes();
+
+ attributes.insets.top =
+ getNumber(attributes.insets.top, insetFields[0]);
+ attributes.insets.left =
+ getNumber(attributes.insets.left, insetFields[1]);
+ attributes.insets.right =
+ getNumber(attributes.insets.right, insetFields[2]);
+ attributes.insets.bottom =
+ getNumber(attributes.insets.bottom, insetFields[3]);
+
+ attributes.position = getString(positionBox);
+ attributes.fill = getString(fillBox);
+ attributes.rWeight = getNumber(attributes.rWeight, rowWeightField);
+ attributes.cWeight = getNumber(attributes.cWeight, colWeightField);
+ attributes.column = getNumber(attributes.column, colPositionField);
+ attributes.skip = getNumber(attributes.skip, skipCellsField);
+ attributes.rSpan = getNumber(attributes.rSpan, rowSpanField);
+ attributes.cSpan = getNumber(attributes.cSpan, colSpanField);
+
+ return attributes;
}
- catch (NumberFormatException e) {}
- return value;
-}
+ void
+ setAttributes(
+ Attributes attributes)
+ {
+ ignoreEvents = true;
+
+ insetFields[0].setText(Integer.toString(attributes.insets.top));
+ insetFields[1].setText(Integer.toString(attributes.insets.left));
+ insetFields[2].setText(Integer.toString(attributes.insets.right));
+ insetFields[3].setText(Integer.toString(attributes.insets.bottom));
+
+ positionBox.setSelectedItem(attributes.position);
+ fillBox.setSelectedItem(attributes.fill);
+ rowWeightField.setText(Integer.toString(attributes.rWeight));
+ colWeightField.setText(Integer.toString(attributes.cWeight));
+ colPositionField.setText(Integer.toString(attributes.column));
+ skipCellsField.setText(Integer.toString(attributes.skip));
+ rowSpanField.setText(Integer.toString(attributes.rSpan));
+ colSpanField.setText(Integer.toString(attributes.cSpan));
+
+ cellAttributesField.setText(attributes.toString());
+
+ ignoreEvents = false;
+ }
-String
-getString(
- JComboBox box)
-{
- return (String)box.getSelectedItem();
-}
+ int
+ getNumber(
+ int defaultValue,
+ JTextField field)
+ {
+ String text = field.getText().trim();
+ if (text.length() == 0) return defaultValue;
+
+ int value = 0;
+ try {
+ value = Integer.parseInt(text);
+ }
+ catch (NumberFormatException e) {}
+
+ return value;
+ }
-void
-enableAttributes(
- boolean enable)
-{
- positionBox.setEnabled(enable);
- fillBox.setEnabled(enable);
- rowWeightField.setEnabled(enable);
- colWeightField.setEnabled(enable);
- colPositionField.setEnabled(enable);
- skipCellsField.setEnabled(enable);
- rowSpanField.setEnabled(enable);
- colSpanField.setEnabled(enable);
-
- for (int i = 0; i < 4; i++) {
- insetFields[i].setEnabled(enable);
+ String
+ getString(
+ JComboBox box)
+ {
+ return (String)box.getSelectedItem();
}
-}
-void
-generateCode()
-{
- tableAttributes = getTableAttributes();
-
- String indent = "";
- String containerName = "";
-
- StringBuffer code = new StringBuffer(
- indent + "// Code generated by Table Explorer V1.0\n" +
- indent +
- "// Copyright © 2004, Antonio Freixas\n" +
- indent + "// All Rights Reserved.\n" +
- indent + "// tony@freixas.org\n\n" +
- indent + "// Define the table layout\n\n" +
- indent + "JPanel panel = new JPanel(new TableLayout(" +
- "\"" + tableAttributes.toString().trim() + "\"));\n\n");
-
- for (int i = 0; i < compListModel.size(); i++) {
- String name = (String)compListModel.elementAt(i);
- Attributes attr = (Attributes)attrHash.get(name);
- String sAttr = attr.toString().trim();
- code.append(
- indent + "panel.add(new JButton(\"" + name + "\"" +
- (sAttr.length() > 0 ? ", \"" + sAttr + "\"" : "") + "));\n");
+ void
+ enableAttributes(
+ boolean enable)
+ {
+ positionBox.setEnabled(enable);
+ fillBox.setEnabled(enable);
+ rowWeightField.setEnabled(enable);
+ colWeightField.setEnabled(enable);
+ colPositionField.setEnabled(enable);
+ skipCellsField.setEnabled(enable);
+ rowSpanField.setEnabled(enable);
+ colSpanField.setEnabled(enable);
+
+ for (int i = 0; i < 4; i++) {
+ insetFields[i].setEnabled(enable);
+ }
}
- codeTextArea.setText(code.toString());
-}
+ void
+ generateCode()
+ {
+ tableAttributes = getTableAttributes();
+
+ String indent = "";
+ String containerName = "";
+
+ StringBuffer code = new StringBuffer(
+ indent + "// Code generated by Table Explorer V1.0\n" +
+ indent +
+ "// Copyright © 2004, Antonio Freixas\n" +
+ indent + "// All Rights Reserved.\n" +
+ indent + "// tony@freixas.org\n\n" +
+ indent + "// Define the table layout\n\n" +
+ indent + "JPanel panel = new JPanel(new TableLayout(" +
+ "\"" + tableAttributes.toString().trim() + "\"));\n\n");
+
+ for (int i = 0; i < compListModel.size(); i++) {
+ String name = (String)compListModel.elementAt(i);
+ Attributes attr = (Attributes)attrHash.get(name);
+ String sAttr = attr.toString().trim();
+ code.append(
+ indent + "panel.add(new JButton(\"" + name + "\"" +
+ (sAttr.length() > 0 ? ", \"" + sAttr + "\"" : "") + "));\n");
+ }
+
+ codeTextArea.setText(code.toString());
+ }
//**********************************************************************
// Protected
@@ -1070,158 +1070,158 @@ generateCode()
// Inner Classes
//**********************************************************************
-class TableAttributes
-{
+ class TableAttributes
+ {
// Table-only options
-int columns = 1;
-int rGap = 0;
-int cGap = 0;
-Insets tableInsets = new Insets(0, 0, 0, 0);
-String tablePosition = "Default";
-String tableFill = "Default";
+ int columns = 1;
+ int rGap = 0;
+ int cGap = 0;
+ Insets tableInsets = new Insets(0, 0, 0, 0);
+ String tablePosition = "Default";
+ String tableFill = "Default";
// Table/cell options
-Insets insets = new Insets(0, 0, 0, 0);
-String position = "Default";
-String fill = "Default";
-int rWeight = 0;
-int cWeight = 0;
-
-public String
-toString()
-{
- StringBuffer b = new StringBuffer();
-
- if (columns != 1) {
- b.append("cols=" + columns + " ");
- }
-
- if (rGap != 0) {
- b.append("rgap=" + rGap + " ");
- }
- if (cGap != 0) {
- b.append("cgap=" + cGap + " ");
- }
-
- if (tableInsets.top != 0) {
- b.append("titop=" + tableInsets.top + " ");
- }
- if (tableInsets.bottom != 0) {
- b.append("tibottom=" + tableInsets.bottom + " ");
- }
- if (tableInsets.left != 0) {
- b.append("tileft=" + tableInsets.left + " ");
- }
- if (tableInsets.right != 0) {
- b.append("tiright=" + tableInsets.right + " ");
- }
-
- if (!"Default".equals(tablePosition)) {
- b.append(tablePosition + " ");
- }
- if (!"Default".equals(tableFill)) {
- b.append(tableFill + " ");
- }
-
- if (insets.top != 0) {
- b.append("itop=" + insets.top + " ");
- }
- if (insets.bottom != 0) {
- b.append("ibottom=" + insets.bottom + " ");
- }
- if (insets.left != 0) {
- b.append("ileft=" + insets.left + " ");
- }
- if (insets.right != 0) {
- b.append("iright=" + insets.right + " ");
- }
-
- if (!"Default".equals(position)) {
- b.append(position + " ");
- }
- if (!"Default".equals(fill)) {
- b.append(fill + " ");
- }
-
- if (rWeight != 0) {
- b.append("rweight=" + rWeight + " ");
- }
- if (cWeight != 0) {
- b.append("cweight=" + cWeight + " ");
- }
-
- return new String(b);
-}
-
-}
-
-class Attributes
-{
-
-Insets insets = new Insets(0, 0, 0, 0);
-String position = "Default";
-String fill = "Default";
-int rWeight = 0;
-int cWeight = 0;
-int column = -1;
-int skip = 0;
-int rSpan = 1;
-int cSpan = 1;
-
-public String
-toString()
-{
- StringBuffer b = new StringBuffer();
+ Insets insets = new Insets(0, 0, 0, 0);
+ String position = "Default";
+ String fill = "Default";
+ int rWeight = 0;
+ int cWeight = 0;
+
+ public String
+ toString()
+ {
+ StringBuffer b = new StringBuffer();
+
+ if (columns != 1) {
+ b.append("cols=" + columns + " ");
+ }
+
+ if (rGap != 0) {
+ b.append("rgap=" + rGap + " ");
+ }
+ if (cGap != 0) {
+ b.append("cgap=" + cGap + " ");
+ }
+
+ if (tableInsets.top != 0) {
+ b.append("titop=" + tableInsets.top + " ");
+ }
+ if (tableInsets.bottom != 0) {
+ b.append("tibottom=" + tableInsets.bottom + " ");
+ }
+ if (tableInsets.left != 0) {
+ b.append("tileft=" + tableInsets.left + " ");
+ }
+ if (tableInsets.right != 0) {
+ b.append("tiright=" + tableInsets.right + " ");
+ }
+
+ if (!"Default".equals(tablePosition)) {
+ b.append(tablePosition + " ");
+ }
+ if (!"Default".equals(tableFill)) {
+ b.append(tableFill + " ");
+ }
+
+ if (insets.top != 0) {
+ b.append("itop=" + insets.top + " ");
+ }
+ if (insets.bottom != 0) {
+ b.append("ibottom=" + insets.bottom + " ");
+ }
+ if (insets.left != 0) {
+ b.append("ileft=" + insets.left + " ");
+ }
+ if (insets.right != 0) {
+ b.append("iright=" + insets.right + " ");
+ }
+
+ if (!"Default".equals(position)) {
+ b.append(position + " ");
+ }
+ if (!"Default".equals(fill)) {
+ b.append(fill + " ");
+ }
+
+ if (rWeight != 0) {
+ b.append("rweight=" + rWeight + " ");
+ }
+ if (cWeight != 0) {
+ b.append("cweight=" + cWeight + " ");
+ }
+
+ return new String(b);
+ }
- if (insets.top != tableAttributes.insets.top) {
- b.append("itop=" + insets.top + " ");
- }
- if (insets.bottom != tableAttributes.insets.bottom) {
- b.append("ibottom=" + insets.bottom + " ");
- }
- if (insets.left != tableAttributes.insets.left) {
- b.append("ileft=" + insets.left + " ");
- }
- if (insets.right != tableAttributes.insets.right) {
- b.append("iright=" + insets.right + " ");
}
- if (!"Default".equals(position)) {
- b.append(position + " ");
- }
- if (!"Default".equals(fill)) {
- b.append(fill + " ");
- }
+ class Attributes
+ {
+
+ Insets insets = new Insets(0, 0, 0, 0);
+ String position = "Default";
+ String fill = "Default";
+ int rWeight = 0;
+ int cWeight = 0;
+ int column = -1;
+ int skip = 0;
+ int rSpan = 1;
+ int cSpan = 1;
+
+ public String
+ toString()
+ {
+ StringBuffer b = new StringBuffer();
+
+ if (insets.top != tableAttributes.insets.top) {
+ b.append("itop=" + insets.top + " ");
+ }
+ if (insets.bottom != tableAttributes.insets.bottom) {
+ b.append("ibottom=" + insets.bottom + " ");
+ }
+ if (insets.left != tableAttributes.insets.left) {
+ b.append("ileft=" + insets.left + " ");
+ }
+ if (insets.right != tableAttributes.insets.right) {
+ b.append("iright=" + insets.right + " ");
+ }
+
+ if (!"Default".equals(position)) {
+ b.append(position + " ");
+ }
+ if (!"Default".equals(fill)) {
+ b.append(fill + " ");
+ }
+
+ if (rWeight != tableAttributes.rWeight) {
+ b.append("rweight=" + rWeight + " ");
+ }
+ if (cWeight != tableAttributes.cWeight) {
+ b.append("cweight=" + cWeight + " ");
+ }
+
+ if (column != -1) {
+ b.append("col=" + column + " ");
+ }
+
+ if (skip != 0) {
+ b.append("skip=" + skip + " ");
+ }
+
+ if (rSpan != 1) {
+ b.append("rspan=" + rSpan + " ");
+ }
+ if (cSpan != 1) {
+ b.append("cspan=" + cSpan + " ");
+ }
+
+ return new String(b);
+ }
- if (rWeight != tableAttributes.rWeight) {
- b.append("rweight=" + rWeight + " ");
}
- if (cWeight != tableAttributes.cWeight) {
- b.append("cweight=" + cWeight + " ");
- }
-
- if (column != -1) {
- b.append("col=" + column + " ");
- }
-
- if (skip != 0) {
- b.append("skip=" + skip + " ");
- }
-
- if (rSpan != 1) {
- b.append("rspan=" + rSpan + " ");
- }
- if (cSpan != 1) {
- b.append("cspan=" + cSpan + " ");
- }
-
- return new String(b);
-}
-
-}
//**********************************************************************
// End Inner Classes