X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2Fmodule%2Fui%2FModuleExterns.java;h=99a24302cd425c9fb901a4e6e1f20022a51e6c49;hp=cfabd0aeb76e3d0cfe7d80854ce6ba1f96556339;hb=06a19ceec7b8b78f4698073ce4054b26dc4a74bd;hpb=79cb6fdbc073e47380880d84c3eef43bef0c0826 diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/ModuleExterns.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/ModuleExterns.java index cfabd0aeb7..99a24302cd 100644 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/ModuleExterns.java +++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/ModuleExterns.java @@ -14,19 +14,19 @@ **/ package org.tianocore.frameworkwizard.module.ui; +import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ComponentEvent; -import java.awt.event.ItemEvent; import java.awt.event.ItemListener; +import java.awt.event.MouseEvent; import java.util.Vector; import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; -import javax.swing.JTextArea; -import javax.swing.JTextField; +import javax.swing.JTable; +import javax.swing.ListSelectionModel; +import javax.swing.event.ListSelectionEvent; import org.tianocore.ExternsDocument; import org.tianocore.PcdDriverTypes; @@ -34,15 +34,16 @@ import org.tianocore.ExternsDocument.Externs; import org.tianocore.ExternsDocument.Externs.Extern; import org.tianocore.ModuleSurfaceAreaDocument.ModuleSurfaceArea; import org.tianocore.frameworkwizard.common.DataType; -import org.tianocore.frameworkwizard.common.DataValidation; import org.tianocore.frameworkwizard.common.EnumerationData; +import org.tianocore.frameworkwizard.common.IDefaultTableModel; import org.tianocore.frameworkwizard.common.Log; import org.tianocore.frameworkwizard.common.Tools; import org.tianocore.frameworkwizard.common.Identifications.OpeningModuleType; +import org.tianocore.frameworkwizard.common.ui.IFrame; import org.tianocore.frameworkwizard.common.ui.IInternalFrame; -import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList; import org.tianocore.frameworkwizard.module.Identifications.Externs.ExternsIdentification; import org.tianocore.frameworkwizard.module.Identifications.Externs.ExternsVector; +import org.tianocore.frameworkwizard.module.ui.dialog.ExternsDlg; /** The class is used to create, update DataHub of MSA/MBD file @@ -63,14 +64,6 @@ public class ModuleExterns extends IInternalFrame implements ItemListener { // private JPanel jContentPane = null; - private JLabel jLabelName = null; - - private JComboBox jComboBoxType = null; - - private JTextArea jTextAreaList = null; - - private JComboBox jComboBoxList = null; - private JButton jButtonAdd = null; private JButton jButtonRemove = null; @@ -79,31 +72,13 @@ public class ModuleExterns extends IInternalFrame implements ItemListener { private JScrollPane jScrollPane = null; - private JScrollPane jScrollPaneList = null; - - private JLabel jLabelPcdIsDriver = null; - - private JComboBox jComboBoxPcdIsDriver = null; - - private JLabel jLabelC_Name = null; - - private JTextField jTextFieldC_Name = null; - - private JLabel jLabelFeatureFlag = null; - - private JLabel jLabelArch = null; - - private JTextField jTextFieldFeatureFlag = null; - - private ICheckBoxList iCheckBoxListArch = null; + private JScrollPane jScrollPaneTable = null; - private JScrollPane jScrollPaneArch = null; + private JTable jTable = null; // // Not used by UI // - private int intSelectedItemId = 0; - private OpeningModuleType omt = null; private ModuleSurfaceArea msa = null; @@ -114,39 +89,9 @@ public class ModuleExterns extends IInternalFrame implements ItemListener { private ExternsVector vid = new ExternsVector(); - private EnumerationData ed = new EnumerationData(); + private IDefaultTableModel model = null; - /** - This method initializes jComboBoxType - - @return javax.swing.JComboBox jComboBoxType - - **/ - private JComboBox getJComboBoxType() { - if (jComboBoxType == null) { - jComboBoxType = new JComboBox(); - jComboBoxType.setBounds(new java.awt.Rectangle(160, 35, 320, 20)); - jComboBoxType.setPreferredSize(new java.awt.Dimension(320, 20)); - } - return jComboBoxType; - } - - /** - This method initializes jComboBoxFileList - - @return javax.swing.JComboBox jComboBoxFileList - - **/ - private JComboBox getJComboBoxList() { - if (jComboBoxList == null) { - jComboBoxList = new JComboBox(); - jComboBoxList.setBounds(new java.awt.Rectangle(15, 195, 210, 20)); - jComboBoxList.addItemListener(this); - jComboBoxList.addActionListener(this); - jComboBoxList.setPreferredSize(new java.awt.Dimension(210, 20)); - } - return jComboBoxList; - } + private int selectedRow = -1; /** This method initializes jButtonAdd @@ -193,27 +138,12 @@ public class ModuleExterns extends IInternalFrame implements ItemListener { jButtonUpdate = new JButton(); jButtonUpdate.setBounds(new java.awt.Rectangle(315, 195, 80, 20)); jButtonUpdate.setPreferredSize(new java.awt.Dimension(80, 20)); - jButtonUpdate.setText("Update"); + jButtonUpdate.setText("Edit"); jButtonUpdate.addActionListener(this); } return jButtonUpdate; } - /** - * This method initializes jScrollPaneFileList - * - * @return javax.swing.JScrollPane - */ - private JScrollPane getJScrollPaneList() { - if (jScrollPaneList == null) { - jScrollPaneList = new JScrollPane(); - jScrollPaneList.setBounds(new java.awt.Rectangle(15, 220, 465, 240)); - jScrollPaneList.setViewportView(getJTextAreaList()); - jScrollPaneList.setPreferredSize(new java.awt.Dimension(465, 240)); - } - return jScrollPaneList; - } - /** This method initializes jScrollPane @@ -228,92 +158,41 @@ public class ModuleExterns extends IInternalFrame implements ItemListener { } /** - * This method initializes jTextAreaFileList - * - * @return javax.swing.JTextArea - */ - private JTextArea getJTextAreaList() { - if (jTextAreaList == null) { - jTextAreaList = new JTextArea(); - jTextAreaList.setEditable(false); - } - return jTextAreaList; - } - - /** - * This method initializes jComboBoxPcdIsDriver - * - * @return javax.swing.JComboBox - */ - private JComboBox getJComboBoxPcdIsDriver() { - if (jComboBoxPcdIsDriver == null) { - jComboBoxPcdIsDriver = new JComboBox(); - jComboBoxPcdIsDriver.setLocation(new java.awt.Point(160, 10)); - jComboBoxPcdIsDriver.setPreferredSize(new java.awt.Dimension(320, 20)); - jComboBoxPcdIsDriver.setSize(new java.awt.Dimension(320, 20)); - jComboBoxPcdIsDriver.addItemListener(this); - } - return jComboBoxPcdIsDriver; - } - - /** - This method initializes jTextFieldC_Name - - @return javax.swing.JTextField + This method initializes jScrollPaneTable + @return javax.swing.JScrollPane **/ - private JTextField getJTextFieldC_Name() { - if (jTextFieldC_Name == null) { - jTextFieldC_Name = new JTextField(); - jTextFieldC_Name.setBounds(new java.awt.Rectangle(160, 60, 320, 20)); - jTextFieldC_Name.setPreferredSize(new java.awt.Dimension(320,20)); + private JScrollPane getJScrollPaneTable() { + if (jScrollPaneTable == null) { + jScrollPaneTable = new JScrollPane(); + jScrollPaneTable.setBounds(new java.awt.Rectangle(15, 10, 470, 420)); + jScrollPaneTable.setPreferredSize(new Dimension(470, 420)); + jScrollPaneTable.setViewportView(getJTable()); } - return jTextFieldC_Name; + return jScrollPaneTable; } /** - This method initializes jTextFieldFeatureFlag - - @return javax.swing.JTextField + This method initializes jTable + @return javax.swing.JTable **/ - private JTextField getJTextFieldFeatureFlag() { - if (jTextFieldFeatureFlag == null) { - jTextFieldFeatureFlag = new JTextField(); - jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(160, 85, 320, 20)); - jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(320, 20)); + private JTable getJTable() { + if (jTable == null) { + jTable = new JTable(); + model = new IDefaultTableModel(); + jTable = new JTable(model); + jTable.setRowHeight(20); + + model.addColumn("Name"); + model.addColumn("Type"); + + jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + jTable.getSelectionModel().addListSelectionListener(this); + jTable.getModel().addTableModelListener(this); + jTable.addMouseListener(this); } - return jTextFieldFeatureFlag; - } - - /** - This method initializes iCheckBoxListArch - - @return ICheckBoxList - **/ - private ICheckBoxList getICheckBoxListSupportedArchitectures() { - if (iCheckBoxListArch == null) { - iCheckBoxListArch = new ICheckBoxList(); - iCheckBoxListArch.addFocusListener(this); - iCheckBoxListArch.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT); - } - return iCheckBoxListArch; - } - - /** - This method initializes jScrollPaneArch - - @return javax.swing.JScrollPane - - **/ - private JScrollPane getJScrollPaneArch() { - if (jScrollPaneArch == null) { - jScrollPaneArch = new JScrollPane(); - jScrollPaneArch.setBounds(new java.awt.Rectangle(160, 110, 320, 80)); - jScrollPaneArch.setPreferredSize(new java.awt.Dimension(320, 80)); - jScrollPaneArch.setViewportView(getICheckBoxListSupportedArchitectures()); - } - return jScrollPaneArch; + return jTable; } public static void main(String[] args) { @@ -328,7 +207,6 @@ public class ModuleExterns extends IInternalFrame implements ItemListener { this.setSize(500, 515); this.setContentPane(getJScrollPane()); this.setTitle("Externs"); - initFrame(); } /** @@ -347,9 +225,13 @@ public class ModuleExterns extends IInternalFrame implements ItemListener { // Get PcdIsDriver // if (this.externs.getPcdIsDriver() != null) { - this.jComboBoxPcdIsDriver.setSelectedItem(this.externs.getPcdIsDriver().toString()); + String arg0 = this.externs.getPcdIsDriver().toString(); + String arg1 = EnumerationData.EXTERNS_PCD_IS_DRIVER; + + id = new ExternsIdentification(arg0, arg1, null, null); + vid.addExterns(id); } - + // // Get specification // @@ -423,11 +305,7 @@ public class ModuleExterns extends IInternalFrame implements ItemListener { } } } - // - // Update the list - // - Tools.generateComboBoxByVector(jComboBoxList, vid.getExternsName()); - reloadListArea(); + showTable(); } /** @@ -462,54 +340,62 @@ public class ModuleExterns extends IInternalFrame implements ItemListener { **/ private JPanel getJContentPane() { if (jContentPane == null) { - jLabelC_Name = new JLabel(); - jLabelC_Name.setBounds(new java.awt.Rectangle(15, 60, 140, 20)); - jLabelC_Name.setText("Value"); - jLabelPcdIsDriver = new JLabel(); - jLabelPcdIsDriver.setBounds(new java.awt.Rectangle(15, 10, 140, 20)); - jLabelPcdIsDriver.setText("Pcd Is Driver"); - jLabelName = new JLabel(); - jLabelName.setText("Choose Type"); - jLabelName.setBounds(new java.awt.Rectangle(15, 35, 140, 20)); - jLabelArch = new JLabel(); - jLabelArch.setBounds(new java.awt.Rectangle(15, 110, 140, 20)); - jLabelArch.setText("Arch"); - jLabelFeatureFlag = new JLabel(); - jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 85, 140, 20)); - jLabelFeatureFlag.setText("Feature Flag"); - jContentPane = new JPanel(); jContentPane.setLayout(null); - jContentPane.setPreferredSize(new java.awt.Dimension(490, 475)); - - jContentPane.add(jLabelName, null); - jContentPane.add(getJComboBoxType(), null); - jContentPane.add(jLabelFeatureFlag, null); - jContentPane.add(jLabelArch, null); - jContentPane.add(getJTextFieldFeatureFlag(), null); - jContentPane.add(getJScrollPaneArch(), null); - - jContentPane.add(getJComboBoxList(), null); + jContentPane.setPreferredSize(new java.awt.Dimension(490, 490)); + jContentPane.add(getJButtonAdd(), null); jContentPane.add(getJButtonRemove(), null); jContentPane.add(getJButtonUpdate(), null); - jContentPane.add(getJScrollPaneList(), null); - jContentPane.add(jLabelPcdIsDriver, null); - jContentPane.add(getJComboBoxPcdIsDriver(), null); - jContentPane.add(jLabelC_Name, null); - jContentPane.add(getJTextFieldC_Name(), null); + jContentPane.add(getJScrollPaneTable(), null); } return jContentPane; } + private void showEdit(int index) { + ExternsDlg dlg = new ExternsDlg(vid.getExterns(index), new IFrame()); + int result = dlg.showDialog(); + if (result == DataType.RETURN_TYPE_OK) { + if (index == -1) { + this.vid.addExterns(dlg.getId()); + } else { + this.vid.setExterns(dlg.getId(), index); + } + this.showTable(); + this.save(); + dlg.dispose(); + } + if (result == DataType.RETURN_TYPE_CANCEL) { + dlg.dispose(); + } + } + + /** + Clear all table rows + + **/ + private void clearAll() { + if (model != null) { + for (int index = model.getRowCount() - 1; index >= 0; index--) { + model.removeRow(index); + } + } + } + /** - This method initializes Usage type and Externs type + Read content of vector and put then into table **/ - private void initFrame() { - Tools.generateComboBoxByVector(this.jComboBoxType, ed.getVExternTypes()); - Tools.generateComboBoxByVector(this.jComboBoxPcdIsDriver, ed.getVPcdDriverTypes()); - this.iCheckBoxListArch.setAllItems(ed.getVSupportedArchitectures()); + private void showTable() { + clearAll(); + + if (vid.size() > 0) { + for (int index = 0; index < vid.size(); index++) { + model.addRow(vid.toStringVector(index)); + } + } + this.jTable.repaint(); + this.jTable.updateUI(); } /* (non-Javadoc) @@ -520,67 +406,27 @@ public class ModuleExterns extends IInternalFrame implements ItemListener { */ public void actionPerformed(ActionEvent arg0) { if (arg0.getSource() == jButtonAdd) { - if (!checkAdd()) { - return; - } - addToList(); - } - if (arg0.getSource() == jButtonRemove) { - removeFromList(); + showEdit(-1); } if (arg0.getSource() == jButtonUpdate) { - if (!checkAdd()) { + if (this.selectedRow < 0) { + Log.err("Please select one record first."); return; } - updateForList(); + showEdit(selectedRow); } - } - /** - Data validation for all fields - - @retval true - All datas are valid - @retval false - At least one data is invalid - - **/ - public boolean checkAdd() { - // - // Check if all fields have correct data types - // - - // - // Check CName - // - if (isEmpty(this.jTextFieldC_Name.getText())) { - Log.err("Value couldn't be empty"); - return false; - } - - if (!isEmpty(this.jTextFieldC_Name.getText())) { - if (this.jComboBoxType.getSelectedItem().toString().equals(EnumerationData.EXTERNS_SPECIFICATION)) { - if (!DataValidation.isSentence(this.jTextFieldC_Name.getText())) { - Log.err("Incorrect data type for Specification"); - return false; - } - } else { - if (!DataValidation.isC_NameType(this.jTextFieldC_Name.getText())) { - Log.err("Incorrect data type for C_Name"); - return false; - } + if (arg0.getSource() == jButtonRemove) { + if (jTable.isEditing()) { + jTable.getCellEditor().stopCellEditing(); } - } - - // - // Check FeatureFlag - // - if (!isEmpty(this.jTextFieldFeatureFlag.getText())) { - if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) { - Log.err("Incorrect data type for Feature Flag"); - return false; + if (selectedRow > -1) { + this.model.removeRow(selectedRow); + this.vid.removeExterns(selectedRow); + selectedRow = -1; + this.save(); } } - - return true; } /** @@ -594,16 +440,24 @@ public class ModuleExterns extends IInternalFrame implements ItemListener { int count = this.vid.size(); this.externs = Externs.Factory.newInstance(); - // - // Save PcdIsDriver first - // - if (!this.jComboBoxPcdIsDriver.getSelectedItem().toString().equals(DataType.EMPTY_SELECT_ITEM)) { - externs.setPcdIsDriver(PcdDriverTypes.Enum.forString(this.jComboBoxPcdIsDriver.getSelectedItem() - .toString())); - } + // // + // // Save PcdIsDriver first + // // + // if (!this.jComboBoxPcdIsDriver.getSelectedItem().toString().equals(DataType.EMPTY_SELECT_ITEM)) { + // externs.setPcdIsDriver(PcdDriverTypes.Enum.forString(this.jComboBoxPcdIsDriver.getSelectedItem() + // .toString())); + // } if (count > 0) { for (int index = 0; index < count; index++) { + // + // Save Pcd Is Driver + // + if (vid.getExterns(index).getType().equals(EnumerationData.EXTERNS_PCD_IS_DRIVER)) { + externs.setPcdIsDriver(PcdDriverTypes.Enum.forString(vid.getExterns(index).getName())); + continue; + } + // // Save specfication // @@ -697,198 +551,52 @@ public class ModuleExterns extends IInternalFrame implements ItemListener { } /* (non-Javadoc) - * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent) - * - * Override componentResized to resize all components when frame's size is changed + * @see javax.swing.event.ListSelectionListener#valueChanged(javax.swing.event.ListSelectionEvent) + * */ - public void componentResized(ComponentEvent arg0) { - int intCurrentWidth = this.getJContentPane().getWidth(); - int intCurrentHeight = this.getJContentPane().getHeight(); - int intPreferredWidth = this.getJContentPane().getPreferredSize().width; - int intPreferredHeight = this.getJContentPane().getPreferredSize().height; - - resizeComponentWidth(this.jComboBoxPcdIsDriver, intCurrentWidth, intPreferredWidth); - resizeComponentWidth(this.jComboBoxType, intCurrentWidth, intPreferredWidth); - resizeComponentWidth(this.jTextFieldC_Name, intCurrentWidth, intPreferredWidth); - resizeComponentWidth(this.jTextFieldFeatureFlag, intCurrentWidth, intPreferredWidth); - resizeComponentWidth(this.jScrollPaneArch, intCurrentWidth, intPreferredWidth); - - resizeComponentWidth(jComboBoxList, intCurrentWidth, intPreferredWidth); - resizeComponent(jScrollPaneList, intCurrentWidth, intCurrentHeight, intPreferredWidth, intPreferredHeight); - - relocateComponentX(jButtonAdd, intCurrentWidth, intPreferredWidth, DataType.SPACE_TO_RIGHT_FOR_ADD_BUTTON); - relocateComponentX(jButtonRemove, intCurrentWidth, intPreferredWidth, DataType.SPACE_TO_RIGHT_FOR_REMOVE_BUTTON); - relocateComponentX(jButtonUpdate, intCurrentWidth, intPreferredWidth, DataType.SPACE_TO_RIGHT_FOR_UPDATE_BUTTON); - } - - private ExternsIdentification getCurrentExterns() { - String arg0 = this.jTextFieldC_Name.getText(); - String arg1 = this.jComboBoxType.getSelectedItem().toString(); - - String arg2 = this.jTextFieldFeatureFlag.getText(); - Vector arg3 = this.iCheckBoxListArch.getAllCheckedItemsString(); - - id = new ExternsIdentification(arg0, arg1, arg2, arg3); - return id; - } - - /** - Add current item to Vector - - **/ - private void addToList() { - intSelectedItemId = vid.size(); - - vid.addExterns(getCurrentExterns()); - - jComboBoxList.addItem(id.getName()); - jComboBoxList.setSelectedItem(id.getName()); - - // - // Reset select item index - // - intSelectedItemId = vid.size(); - - // - // Reload all fields of selected item - // - reloadFromList(); - - // - // Save to memory - // - save(); - } - - /** - Remove current item from Vector - - **/ - private void removeFromList() { - // - // Check if exist items - // - if (this.vid.size() < 1) { + public void valueChanged(ListSelectionEvent arg0) { + if (arg0.getValueIsAdjusting()) { return; } - - int intTempIndex = intSelectedItemId; - - jComboBoxList.removeItemAt(intSelectedItemId); - - vid.removeExterns(intTempIndex); - - // - // Reload all fields of selected item - // - reloadFromList(); - - // - // Save to memory - // - save(); - } - - /** - Update current item of Vector - - **/ - private void updateForList() { - // - // Check if exist items - // - if (this.vid.size() < 1) { + ListSelectionModel lsm = (ListSelectionModel) arg0.getSource(); + if (lsm.isSelectionEmpty()) { return; - } - - // - // Backup selected item index - // - int intTempIndex = intSelectedItemId; - - vid.updateExterns(getCurrentExterns(), intTempIndex); - - jComboBoxList.removeAllItems(); - for (int index = 0; index < vid.size(); index++) { - jComboBoxList.addItem(vid.getExterns(index).getName()); - } - - // - // Restore selected item index - // - intSelectedItemId = intTempIndex; - - // - // Reset select item index - // - jComboBoxList.setSelectedIndex(intSelectedItemId); - - // - // Reload all fields of selected item - // - reloadFromList(); - - // - // Save to memory - // - save(); - } - - /** - Refresh all fields' values of selected item of Vector - - **/ - private void reloadFromList() { - if (vid.size() > 0) { - // - // Get selected item index - // - intSelectedItemId = jComboBoxList.getSelectedIndex(); - - this.jTextFieldC_Name.setText(vid.getExterns(intSelectedItemId).getName()); - this.jComboBoxType.setSelectedItem(vid.getExterns(intSelectedItemId).getType()); - - jTextFieldFeatureFlag.setText(vid.getExterns(intSelectedItemId).getFeatureFlag()); - iCheckBoxListArch.setAllItemsUnchecked(); - iCheckBoxListArch.initCheckedItem(true, vid.getExterns(intSelectedItemId).getSupArchList()); - } else { + selectedRow = lsm.getMinSelectionIndex(); } - - reloadListArea(); - } - - /** - Update list area pane via the elements of Vector - - **/ - private void reloadListArea() { - String strListItem = ""; - for (int index = 0; index < vid.size(); index++) { - strListItem = strListItem + vid.getExterns(index).getName() + DataType.UNIX_LINE_SEPARATOR; - } - this.jTextAreaList.setText(strListItem); } /* (non-Javadoc) - * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent) + * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent) * - * Reflesh the frame when selected item changed - * */ - public void itemStateChanged(ItemEvent arg0) { - if (arg0.getSource() == this.jComboBoxList && arg0.getStateChange() == ItemEvent.SELECTED) { - reloadFromList(); - } - if (arg0.getSource() == this.jComboBoxPcdIsDriver && arg0.getStateChange() == ItemEvent.SELECTED && externs != null) { - String s = this.jComboBoxPcdIsDriver.getSelectedItem().toString(); - if (s.equals(DataType.EMPTY_SELECT_ITEM)) { - this.externs.setPcdIsDriver(null); + public void mouseClicked(MouseEvent arg0) { + if (arg0.getClickCount() == 2) { + if (this.selectedRow < 0) { + return; } else { - this.externs.setPcdIsDriver(PcdDriverTypes.Enum.forString(s)); + showEdit(selectedRow); } - this.msa.setExterns(externs); - this.omt.setSaved(false); } } + + /* (non-Javadoc) + * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent) + * + * Override componentResized to resize all components when frame's size is changed + */ + public void componentResized(ComponentEvent arg0) { + int intCurrentWidth = this.getJContentPane().getWidth(); + int intCurrentHeight = this.getJContentPane().getHeight(); + int intPreferredWidth = this.getJContentPane().getPreferredSize().width; + int intPreferredHeight = this.getJContentPane().getPreferredSize().height; + + resizeComponent(this.jScrollPaneTable, intCurrentWidth, intCurrentHeight, intPreferredWidth, intPreferredHeight); + relocateComponent(this.jButtonAdd, intCurrentWidth, intCurrentHeight, intPreferredWidth, intPreferredHeight, + DataType.SPACE_TO_RIGHT_FOR_ADD_BUTTON, DataType.SPACE_TO_BOTTOM_FOR_ADD_BUTTON); + relocateComponent(this.jButtonRemove, intCurrentWidth, intCurrentHeight, intPreferredWidth, intPreferredHeight, + DataType.SPACE_TO_RIGHT_FOR_REMOVE_BUTTON, DataType.SPACE_TO_BOTTOM_FOR_REMOVE_BUTTON); + relocateComponent(this.jButtonUpdate, intCurrentWidth, intCurrentHeight, intPreferredWidth, intPreferredHeight, + DataType.SPACE_TO_RIGHT_FOR_UPDATE_BUTTON, DataType.SPACE_TO_BOTTOM_FOR_UPDATE_BUTTON); + } }