/** * Adds a new row to the form. * * @param labelText The text for the label shown on the left hand side of the component. * @param formElement The component, i.e. a text field. * @param explanation An explanation text shown under the component. * @param required Defines whether the component should be marked as required. */ public void addRow( String labelText, Component formElement, String explanation, boolean required) { Grid grid = new Grid(3); grid.setInsets(new Insets(0, 0, 5, 0)); grid.setColumnWidth(0, new Extent(140)); grid.add(new SolidLabel(labelText, Font.ITALIC)); formElements.add(formElement); if (formElement instanceof TextField) { TextField tf = (TextField) formElement; tf.setWidth(new Extent(parentWindow.getWidth().getValue() - 223)); tf.setActionCommand("OK"); tf.addActionListener(this); } grid.add(formElement); if (required) { requiredFormElements.add(formElement); grid.add(new Label("*", Font.ITALIC, 11)); } else { grid.add(new Label()); } grid.add(new Label()); grid.add(new Label(explanation, Font.ITALIC, 11)); column.add(grid); }