List of usage examples for com.jgoodies.forms.layout CellConstraints xyw
public CellConstraints xyw(int col, int row, int colSpan)
Examples:
cc.xyw(1, 3, 7); cc.xyw(1, 3, 2);
From source file:de.xplib.xdbm.ui.dialog.NewVirtualCollectionDialog.java
License:Open Source License
/** * //from w w w . j a v a 2 s .c o m */ private void initUI() { this.jtfCollection.setText(this.collPath); this.jtfCollection.setEditable(false); this.jffSchema.addFileFilter(JFileField.VCS_FILE_FILTER); this.jffStylesheet.addFileFilter(JFileField.XSL_FILE_FILTER); FormLayout layout = new FormLayout("right:pref, 3dlu, pref, 3dlu, pref", "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 9dlu, p, 3dlu, p"); layout.setColumnGroups(new int[][] { { 3, 5 } }); PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); CellConstraints cc = new CellConstraints(); builder.add(this.jlCollection, cc.xy(1, 1)); builder.add(this.jtfCollection, cc.xyw(3, 1, 3)); builder.add(this.jlName, cc.xy(1, 3)); builder.add(this.jtfName, cc.xyw(3, 3, 3)); builder.add(this.jlSchema, cc.xy(1, 5)); builder.add(this.jffSchema, cc.xyw(3, 5, 3)); builder.add(this.jlStylesheet, cc.xy(1, 7)); builder.add(this.jffStylesheet, cc.xyw(3, 7, 3)); builder.addSeparator("", cc.xyw(1, 9, 5)); builder.add(new JButton(new CancelDialogAction(this)), cc.xy(3, 11)); builder.add(new JButton(new CloseDialogWrapperAction(ExecuteNewVirtualCollectionAction.INSTANCE, this)), cc.xy(5, 11)); this.setContentPane(builder.getPanel()); }
From source file:de.xplib.xdbm.ui.dialog.NewXMLResourceDialog.java
License:Open Source License
/** * /*from ww w . j av a 2 s . c om*/ */ private void initUI() { NewXMLResourceExecuteAction.INSTANCE.setEnabled(false); this.jtfPath.setEditable(false); this.jtfPath.setText(this.ctxPath); FormLayout layout = new FormLayout("right:pref, 3dlu, pref, 3dlu, pref", "p, 3dlu, p, 3dlu, p, 3dlu, p, 9dlu, p, 3dlu, p"); layout.setColumnGroups(new int[][] { { 3, 5 } }); PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); CellConstraints cc = new CellConstraints(); builder.addLabel("Pfad:", cc.xy(1, 1)); builder.add(this.jtfPath, cc.xyw(3, 1, 3)); builder.addLabel("Name:", cc.xy(1, 3)); builder.add(this.jtfName, cc.xyw(3, 3, 3)); builder.addLabel("Datei:", cc.xy(1, 5)); builder.add(this.jffXML, cc.xyw(3, 5, 3)); builder.addSeparator("", cc.xyw(1, 7, 5)); builder.add(new JButton(new CancelDialogAction(this)), cc.xy(3, 9)); builder.add(new JButton(new CloseDialogWrapperAction(NewXMLResourceExecuteAction.INSTANCE, this)), cc.xy(5, 9)); this.getContentPane().setLayout(new GridLayout(1, 1)); this.getContentPane().add(builder.getPanel()); }
From source file:de.xplib.xdbm.ui.dialog.SelectConnection.java
License:Open Source License
/** * //from w ww .j a va 2s .co m */ private void initUI() { I18N i18n = I18N.getInstance(); this.setTitle(i18n.getTitle("dialog.select.conn.title")); this.jtfClass.setEditable(false); this.jtfClass.setToolTipText(i18n.getToolTip("dialog.select.conn.class")); this.sdfJar = new SelectDriverField(this.app.getConfig()); this.sdfJar.setToolTipText(i18n.getToolTip("dialog.select.conn.jarfile")); this.sdfJar.addItemListener(new ItemListener() { public void itemStateChanged(final ItemEvent ie) { String name = (String) ie.getItem(); jtfClass.setText(app.getConfig().getDriverClass(name)); jlURIs.removeAll(); List list = app.getConfig().getDatabaseURIs(name); jlURIs.setListData(list.toArray(new String[list.size()])); } }); this.sdfJar.update(this.app.getConfig()); this.jlURIs.setToolTipText(i18n.getToolTip("dialog.select.conn.uri")); this.jlURIs.addListSelectionListener(new ListSelectionListener() { public void valueChanged(final ListSelectionEvent lse) { String jar = sdfJar.getSelectedItem(); String cls = jtfClass.getText().trim(); String uri = (String) jlURIs.getSelectedValue(); uri = (uri == null ? "" : uri.trim()); if (jar.equals("") || cls.equals("") || uri.equals("")) { jbConnect.setEnabled(false); } app.getConfig().setConnection(new Connection(jar, cls, uri)); jbConnect.setEnabled(true); } }); this.jbConnect.setEnabled(false); FormLayout layout = new FormLayout("right:pref, 3dlu, pref, 3dlu, pref, 3dlu, pref", "p, 3dlu, p, 3dlu, p, 3dlu, p, 9dlu, 30dlu, 3dlu, p"); layout.setColumnGroups(new int[][] { { 3, 5, 7 } }); PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); // Obtain a reusable constraints object to place components in the grid. CellConstraints cc = new CellConstraints(); // Fill the grid with components; the builder can create // frequently used components, e.g. separators and labels. // Add a titled separator to cell (1, 1) that spans 7 columns. builder.addLabel(i18n.getTitle("dialog.select.conn.jarfile"), cc.xy(1, 3)); builder.add(this.sdfJar, cc.xyw(3, 3, 5)); builder.addLabel("Klasse", cc.xy(1, 5)); builder.add(this.jtfClass, cc.xyw(3, 5, 5)); //builder.addSeparator("", cc.xyw(1, 9, 7)); JScrollPane jsp = new JScrollPane(); jsp.getViewport().add(this.jlURIs); builder.add(jsp, cc.xyw(1, 9, 7)); builder.add(new JButton(new CancelDialogAction(this)), cc.xy(5, 11)); builder.add(this.jbConnect, cc.xy(7, 11)); this.getContentPane().setLayout(new GridLayout(1, 1)); this.getContentPane().add(builder.getPanel()); this.setSize(400, 300); }
From source file:edu.ku.brc.af.auth.BasicPermisionPanel.java
License:Open Source License
/** * @param changeListener//from ww w .ja v a 2 s .com * @param titleKey * @param viewKey * @param modKey * @param addKey * @param delKey */ public BasicPermisionPanel(final ChangeListener changeListener, final String titleKey, final String viewKey, final String modKey, final String addKey, final String delKey) { super(); CellConstraints cc = new CellConstraints(); int numRows = addKey != null ? 1 : 0; numRows += delKey != null ? 1 : 0; numRows += modKey != null ? 1 : 0; numRows += viewKey != null ? 1 : 0; numRows++; PanelBuilder pb = new PanelBuilder( new FormLayout("p,f:p:g", UIHelper.createDuplicateJGoodiesDef("p", "4px", numRows)), this); originalLabels[0] = viewKey != null ? UIRegistry.getResourceString(viewKey) : null; originalLabels[1] = modKey != null ? UIRegistry.getResourceString(modKey) : null; originalLabels[2] = addKey != null ? UIRegistry.getResourceString(addKey) : null; originalLabels[3] = delKey != null ? UIRegistry.getResourceString(delKey) : null; int y = 1; PanelBuilder sepPB = new PanelBuilder(new FormLayout("p,0px,f:p:g", "p")); sepPB.add(label, cc.xy(1, 1)); sepPB.addSeparator(" ", cc.xy(3, 1)); pb.add(sepPB.getPanel(), cc.xyw(1, y, 2)); y += 2; if (viewKey != null) pb.add(viewChk = createCheckBox(originalLabels[0]), cc.xy(1, y)); y += 2; if (modKey != null) pb.add(modifyChk = createCheckBox(originalLabels[1]), cc.xy(1, y)); y += 2; if (addKey != null) pb.add(addChk = createCheckBox(originalLabels[2]), cc.xy(1, y)); y += 2; if (delKey != null) pb.add(delChk = createCheckBox(originalLabels[3]), cc.xy(1, y)); y += 2; addChangeListener(changeListener); addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { hasChanged = true; } }); }
From source file:edu.ku.brc.af.auth.UserAndMasterPasswordMgr.java
License:Open Source License
/** * Displays a dialog used for editing the Master Username and Password. * @param isLocal whether u/p is stored locally or not * @param usrName//from w w w . ja v a2s. c om * @param dbName * @param masterPath the path to the password * @return whether to ask for the information because it wasn't found */ protected boolean askForInfo(final Boolean isLocal, final String usrName, final String dbName, final String masterPath) { loadAndPushResourceBundle("masterusrpwd"); FormLayout layout = new FormLayout("p, 2px, f:p:g, 4px, p, 4px, p, 4px, p", "p,2px,p,2px,p,2dlu,p,2dlu,p"); PanelBuilder pb = new PanelBuilder(layout); pb.setDefaultDialogBorder(); ButtonGroup group = new ButtonGroup(); final JRadioButton isNetworkRB = new JRadioButton(getResourceString("IS_NET_BASED")); final JRadioButton isPrefBasedRB = new JRadioButton(getResourceString("IS_ENCRYPTED_KEY")); isPrefBasedRB.setSelected(true); group.add(isNetworkRB); group.add(isPrefBasedRB); final JTextField keyTxt = createTextField(35); final JTextField urlTxt = createTextField(35); final JLabel keyLbl = createI18NFormLabel("ENCRYPTED_USRPWD"); final JLabel urlLbl = createI18NFormLabel("URL"); final JButton createBtn = createI18NButton("CREATE_KEY"); final JButton copyCBBtn = createIconBtn("ClipboardCopy", IconManager.IconSize.Std24, "CPY_TO_CB_TT", null); final JButton pasteCBBtn = createIconBtn("ClipboardPaste", IconManager.IconSize.Std24, "CPY_FROM_CB_TT", null); // retrieves the encrypted key for the current settings in the dialog String dbNameFromForm = AppPreferences.getLocalPrefs().get("login.databases_selected", null); if (isNotEmpty(dbNameFromForm) && isNotEmpty(usersUserName)) { String masterKey = getMasterPrefPath(usersUserName, dbNameFromForm, true); if (isNotEmpty(masterKey)) { String encryptedKey = AppPreferences.getLocalPrefs().get(masterKey, null); if (isNotEmpty(encryptedKey) && !encryptedKey.startsWith("http")) { keyTxt.setText(encryptedKey); } } } CellConstraints cc = new CellConstraints(); int y = 1; pb.add(createI18NFormLabel("MASTER_LOC"), cc.xywh(1, y, 1, 3)); pb.add(isPrefBasedRB, cc.xy(3, y)); y += 2; pb.add(isNetworkRB, cc.xy(3, y)); y += 2; pb.addSeparator("", cc.xyw(1, y, 9)); y += 2; pb.add(keyLbl, cc.xy(1, y)); pb.add(keyTxt, cc.xy(3, y)); pb.add(createBtn, cc.xy(5, y)); pb.add(copyCBBtn, cc.xy(7, y)); pb.add(pasteCBBtn, cc.xy(9, y)); y += 2; pb.add(urlLbl, cc.xy(1, y)); pb.add(urlTxt, cc.xy(3, y)); y += 2; boolean isEditMode = isLocal != null && isNotEmpty(masterPath); if (isEditMode) { isPrefBasedRB.setSelected(isLocal); if (isLocal) { keyTxt.setText(masterPath); } else { urlTxt.setText(masterPath); } } copyCBBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // Copy to Clipboard UIHelper.setTextToClipboard(keyTxt.getText()); } }); pasteCBBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { keyTxt.setText(UIHelper.getTextFromClipboard()); } }); final CustomDialog dlg = new CustomDialog((Frame) null, getResourceString("MASTER_TITLE"), true, CustomDialog.OKCANCELHELP, pb.getPanel()); if (!isEditMode) { dlg.setOkLabel(getResourceString("CONT")); dlg.setCancelLabel(getResourceString("BACK")); } dlg.setHelpContext("MASTERPWD_MAIN"); dlg.createUI(); dlg.getOkBtn().setEnabled(false); urlLbl.setEnabled(false); urlTxt.setEnabled(false); copyCBBtn.setEnabled(true); pasteCBBtn.setEnabled(true); DocumentListener dl = new DocumentAdaptor() { @Override protected void changed(DocumentEvent e) { dlg.getOkBtn().setEnabled((isPrefBasedRB.isSelected() && !keyTxt.getText().isEmpty()) || (isNetworkRB.isSelected() && !urlTxt.getText().isEmpty())); } }; keyTxt.getDocument().addDocumentListener(dl); urlTxt.getDocument().addDocumentListener(dl); ChangeListener chgListener = new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { boolean isNet = isNetworkRB.isSelected(); keyLbl.setEnabled(!isNet); keyTxt.setEnabled(!isNet); createBtn.setEnabled(!isNet); copyCBBtn.setEnabled(!isNet); pasteCBBtn.setEnabled(!isNet); urlLbl.setEnabled(isNet); urlTxt.setEnabled(isNet); dlg.getOkBtn().setEnabled((isPrefBasedRB.isSelected() && !keyTxt.getText().isEmpty()) || (isNetworkRB.isSelected() && !urlTxt.getText().isEmpty())); } }; isNetworkRB.addChangeListener(chgListener); isPrefBasedRB.addChangeListener(chgListener); boolean isPref = AppPreferences.getLocalPrefs().getBoolean(getIsLocalPrefPath(usrName, dbName, true), true); isNetworkRB.setSelected(!isPref); isPrefBasedRB.setSelected(isPref); createBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String[] keys = getUserNamePasswordKey(); if (keys != null && keys.length == 4) { String encryptedStr = encrypt(keys[0], keys[1], keys[3]); if (encryptedStr != null) { keyTxt.setText(encryptedStr); dlg.getOkBtn().setEnabled(true); usersUserName = keys[2]; } } } }); popResourceBundle(); dlg.setVisible(true); if (!dlg.isCancelled()) { String value; if (isNetworkRB.isSelected()) { value = StringEscapeUtils.escapeHtml(urlTxt.getText()); } else { value = keyTxt.getText(); } AppPreferences.getLocalPrefs().putBoolean(getIsLocalPrefPath(usrName, dbName, true), !isNetworkRB.isSelected()); AppPreferences.getLocalPrefs().put(getMasterPrefPath(usrName, dbName, true), value); return true; } return false; }
From source file:edu.ku.brc.af.auth.UserAndMasterPasswordMgr.java
License:Open Source License
/** * @return//w w w.j av a2s. co m */ protected String[] getUserNamePasswordKey() { loadAndPushResourceBundle("masterusrpwd"); FormLayout layout = new FormLayout("p, 4dlu, p, 8px, p", "p, 2dlu, p, 2dlu, p, 16px, p, 2dlu, p, 2dlu, p"); layout.setRowGroups(new int[][] { { 1, 3, 5 } }); PanelBuilder pb = new PanelBuilder(layout); final JTextField dbUsrTxt = createTextField(30); final JPasswordField dbPwdTxt = createPasswordField(30); final JTextField usrText = createTextField(30); final JPasswordField pwdText = createPasswordField(30); final char echoChar = pwdText.getEchoChar(); final JLabel dbUsrLbl = createI18NFormLabel("USERNAME", SwingConstants.RIGHT); final JLabel dbPwdLbl = createI18NFormLabel("PASSWORD", SwingConstants.RIGHT); final JLabel usrLbl = createI18NFormLabel("USERNAME", SwingConstants.RIGHT); final JLabel pwdLbl = createI18NFormLabel("PASSWORD", SwingConstants.RIGHT); usrText.setText(usersUserName); CellConstraints cc = new CellConstraints(); int y = 1; pb.addSeparator(UIRegistry.getResourceString("MASTER_SEP"), cc.xyw(1, y, 5)); y += 2; pb.add(dbUsrLbl, cc.xy(1, y)); pb.add(dbUsrTxt, cc.xy(3, y)); y += 2; pb.add(dbPwdLbl, cc.xy(1, y)); pb.add(dbPwdTxt, cc.xy(3, y)); y += 2; pb.addSeparator(UIRegistry.getResourceString("USER_SEP"), cc.xyw(1, y, 5)); y += 2; pb.add(usrLbl, cc.xy(1, y)); pb.add(usrText, cc.xy(3, y)); y += 2; pb.add(pwdLbl, cc.xy(1, y)); pb.add(pwdText, cc.xy(3, y)); pb.setDefaultDialogBorder(); final CustomDialog dlg = new CustomDialog((Frame) null, getResourceString("MASTER_INFO_TITLE"), true, CustomDialog.OKCANCELAPPLYHELP, pb.getPanel()); dlg.setOkLabel(getResourceString("GENERATE_KEY")); dlg.setHelpContext("MASTERPWD_GEN"); dlg.setApplyLabel(showPwdLabel); dlg.createUI(); dlg.getOkBtn().setEnabled(false); popResourceBundle(); DocumentListener docListener = new DocumentAdaptor() { @Override protected void changed(DocumentEvent e) { String dbUserStr = dbUsrTxt.getText(); boolean enable = !dbUserStr.isEmpty() && !((JTextField) dbPwdTxt).getText().isEmpty() && !usrText.getText().isEmpty() && !((JTextField) pwdText).getText().isEmpty(); if (enable && isNotEmpty(dbUserStr) && dbUserStr.equalsIgnoreCase("root")) { loadAndPushResourceBundle("masterusrpwd"); UIRegistry.showLocalizedError("MASTER_NO_ROOT"); popResourceBundle(); enable = false; } dlg.getOkBtn().setEnabled(enable); } }; dbUsrTxt.getDocument().addDocumentListener(docListener); dbPwdTxt.getDocument().addDocumentListener(docListener); usrText.getDocument().addDocumentListener(docListener); pwdText.getDocument().addDocumentListener(docListener); currEcho = echoChar; dlg.getApplyBtn().addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dlg.getApplyBtn().setText(currEcho == echoChar ? hidePwdLabel : showPwdLabel); currEcho = currEcho == echoChar ? 0 : echoChar; pwdText.setEchoChar(currEcho); dbPwdTxt.setEchoChar(currEcho); } }); dlg.setVisible(true); if (!dlg.isCancelled()) { return new String[] { dbUsrTxt.getText(), ((JTextField) dbPwdTxt).getText(), usrText.getText(), ((JTextField) pwdText).getText() }; } return null; }
From source file:edu.ku.brc.af.prefs.PrefsPanel.java
License:Open Source License
@Override public void createForm(final String viewSetName, final String viewName) { CellConstraints cc = new CellConstraints(); String rowDef = UIHelper.createDuplicateJGoodiesDef("p", "4px", items.size()); PanelBuilder pb = new PanelBuilder(new FormLayout("p,2px,f:p:g", rowDef), this); int y = 1;//from ww w .ja va 2s. com for (ItemInfo item : items) { if (item.getCompType() == CompType.eSep) { pb.addSeparator(item.getTitle(), cc.xyw(1, y, 3)); y += 2; } else if (item.getCompType() == CompType.eCheckbox) { JCheckBox cb = UIHelper.createCheckBox(item.getTitle()); item.setComp(cb); pb.add(UIHelper.createLabel(" "), cc.xy(1, y)); pb.add(cb, cc.xy(3, y)); y += 2; cb.setSelected(appPrefs.getBoolean(item.getPrefName(), (Boolean) item.getDefaultVal())); formValidator.createValidator(cb, UIValidator.Type.Changed); } else if (item.getCompType() == CompType.eComboBox) { JComboBox cb = UIHelper.createComboBox((Object[]) item.getItemsTitles()); item.setComp(cb); pb.add(UIHelper.createFormLabel(item.getTitle()), cc.xy(1, y)); pb.add(cb, cc.xy(3, y)); y += 2; cb.setSelectedIndex(appPrefs.getInt(item.getPrefName(), (Integer) item.getDefaultVal())); formValidator.createValidator(cb, UIValidator.Type.Changed); } } pb.setDefaultDialogBorder(); }
From source file:edu.ku.brc.af.ui.db.DatabaseLoginPanel.java
License:Open Source License
/** * @param usrLblKey//www. jav a 2s . c o m * @param userNameTF * @param pwdLblKey * @param passwordTF * @param statusLbl * @param imgIcon * @return */ public static JPanel createLoginPanel(final String usrLblKey, final JTextField userNameTF, final String usernameHintKey, final String pwdLblKey, final JPasswordField passwordTF, final JLabel statusLbl, final ImageIcon imgIcon) { CellConstraints cc = new CellConstraints(); PanelBuilder pb = new PanelBuilder(new FormLayout("p,2px,f:p:g,2px,p", "p,4px,p,10px,p,8px")); boolean hasUsrNmHint = StringUtils.isNotEmpty(usernameHintKey); pb.add(UIHelper.createI18NFormLabel(usrLblKey), cc.xy(1, 1)); pb.add(userNameTF, cc.xyw(3, 1, hasUsrNmHint ? 1 : 3)); if (hasUsrNmHint) { pb.add(UIHelper.createI18NLabel(usernameHintKey), cc.xy(5, 1)); } pb.add(UIHelper.createI18NFormLabel(pwdLblKey), cc.xy(1, 3)); pb.add(passwordTF, cc.xyw(3, 3, 1)); pb.add(statusLbl, cc.xyw(1, 5, 5)); PanelBuilder outerPanel = new PanelBuilder(new FormLayout("p,3dlu,p:g", "t:p:g")); //$NON-NLS-1$ //$NON-NLS-2$ JLabel icon = new JLabel(imgIcon); icon.setBorder(BorderFactory.createEmptyBorder(10, 10, 2, 2)); pb.getPanel().setBorder(BorderFactory.createEmptyBorder(10, 5, 0, 5)); outerPanel.add(icon, cc.xy(1, 1)); outerPanel.add(pb.getPanel(), cc.xy(3, 1)); return outerPanel.getPanel(); }
From source file:edu.ku.brc.af.ui.forms.formatters.DataObjAggregatorDlg.java
License:Open Source License
@Override public void createUI() { super.createUI(); isNew = StringUtils.isEmpty(selectedAggregator.getName()); validator.setNewObj(isNew);// w ww . j a v a 2s . c o m CellConstraints cc = new CellConstraints(); // panel for aggregator editing controls // display combobox with available data obj formatters PanelBuilder displayPB = new PanelBuilder(new FormLayout("f:p:g,min", "p")); displayCbo = createComboBox(); JButton displayDlgBtn = createButton("..."); displayPB.add(displayCbo, cc.xy(1, 1)); displayPB.add(displayDlgBtn, cc.xy(2, 1)); fieldOrderCbo = createComboBox(); ActionListener displayDlgBtnAL = new ActionListener() { public void actionPerformed(ActionEvent e) { // subtract 1 from selected index to account for empty entry at the beginning // if selected index is zero, then select "new" entry in the dialog, which is the last one boolean newFormatter; DataObjSwitchFormatter dosf; if (displayCbo.getSelectedIndex() == 0) { // no formatter selected: create a new one and pass it to the dialog so the user can edit it newFormatter = true; dosf = new DataObjSwitchFormatter(null, null, true, false, tableInfo.getClassObj(), ""); } else { // pass selected formatter to the dialog so the user can edit it newFormatter = false; dosf = (DataObjSwitchFormatter) displayCbo.getSelectedItem(); } DataObjFieldFormatDlg dlg = new DataObjFieldFormatDlg(null, tableInfo, dataObjFieldFormatMgrCache, uiFieldFormatterMgrCache, dosf); dlg.createUI(); if (dlg.isEditable()) { dlg.setVisible(true); // set combo selection to formatter selected in dialog if (dlg.getBtnPressed() == OK_BTN) { selectedAggregator.setFormatName(dosf.getName()); if (newFormatter) { // must add new DO formatter and then select it dataObjFieldFormatMgrCache.addFormatter(dosf); } // update the display combo, adding the new formatter and selecting it // if that's the case updateDisplayCombo(); } } } }; displayDlgBtn.addActionListener(displayDlgBtnAL); // text fields titleText = new ValTextField(10); nameText = new ValTextField(10) { @Override public ErrorType validateState() { ErrorType state = super.validateState(); if (state == ErrorType.Valid) { return isNameInError ? ErrorType.Error : ErrorType.Valid; } return state; } }; sepText = new ValTextField(10); endingText = new ValTextField(10); countSpinner = new ValSpinner(0, 10, true, false); countSpinner.setValue(0); JButton valBtn = FormViewObj.createValidationIndicator(this, validator); PanelBuilder valInfoBtnPB = new PanelBuilder(new FormLayout("f:p:g,p", "p")); valInfoBtnPB.add(valBtn, cc.xy(2, 1)); validator.setValidationBtn(valBtn); PanelBuilder pb = new PanelBuilder( new FormLayout("r:p,2px,p,f:p:g", UIHelper.createDuplicateJGoodiesDef("p", "2px", 11))); int y = 1; JLabel tableTitleLbl = createI18NFormLabel("FFE_TABLE"); JLabel tableTitleValueLbl = createLabel(tableInfo.getTitle()); tableTitleValueLbl.setBackground(Color.WHITE); tableTitleValueLbl.setOpaque(true); pb.add(tableTitleLbl, cc.xy(1, y)); pb.add(tableTitleValueLbl, cc.xyw(3, y, 2)); y += 2; pb.addSeparator(" ", cc.xyw(1, y, 3)); y += 2; pb.add(createI18NFormLabelBold("DOA_NAME"), cc.xy(1, y)); add(pb, nameText, "DOA_NAME", "DOA_NAME.getText().length() > 0", cc.xyw(3, y, 2)); y += 2; pb.add(createI18NFormLabelBold("DOA_TITLE"), cc.xy(1, y)); add(pb, titleText, "DOA_TITLE", "DOA_TITLE.getText().length() > 0", cc.xyw(3, y, 2)); y += 2; pb.add(createI18NFormLabelBold("DOA_DISPLAY"), cc.xy(1, y)); pb.add(displayPB.getPanel(), cc.xyw(3, y, 2)); y += 2; pb.add(createI18NFormLabelBold("DOA_SEP"), cc.xy(1, y)); add(pb, sepText, "DOA_SEP", "DOA_SEP.getText().length() > 0", cc.xyw(3, y, 2)); y += 2; pb.add(createI18NFormLabelBold("DOA_COUNT"), cc.xy(1, y)); add(pb, countSpinner, "DOA_COUNT", null, cc.xyw(3, y, 2)); y += 2; pb.add(createI18NFormLabel("DOA_ENDING"), cc.xy(1, y)); add(pb, endingText, "DOA_ENDING", "DOA_ENDING.getText().length() > 0", cc.xyw(3, y, 2)); y += 2; pb.add(createI18NFormLabel("DOA_SORT_BY"), cc.xy(1, y)); add(pb, fieldOrderCbo, "DOA_DEFAULT", null, cc.xy(3, y)); y += 2; pb.add(valInfoBtnPB.getPanel(), cc.xyw(3, y, 2)); y += 2; pb.setBorder(BorderFactory.createEmptyBorder(14, 14, 0, 14)); contentPanel = pb.getPanel(); mainPanel.add(contentPanel, BorderLayout.CENTER); fillWithObjAggregator(selectedAggregator); updateUIEnabled(); addComboBoxActionListeners(); if (!isNew) { ViewFactory.changeTextFieldUIForDisplay(nameText, false); } validator.resetFields(); validator.setEnabled(true); validator.setHasChanged(false); pack(); if (isNew) { nameText.getDocument().addDocumentListener(new DocumentAdaptor() { @Override public void changedUpdate(DocumentEvent e) { isNameInError = dataObjFieldFormatMgrCache.getAggregator(nameText.getText()) != null; validator.validateForm(); updateUIEnabled(); } }); } }
From source file:edu.ku.brc.af.ui.forms.formatters.DataObjFieldFormatDlg.java
License:Open Source License
@Override public void createUI() { super.createUI(); JLabel titleLbl = createLabel(getResourceString("DOF_TITLE") + ":"); titleText = createTextField(32);/*from w ww. j a v a2 s. c om*/ JLabel nameLbl = createLabel(getResourceString("DOF_NAME") + ":"); nameText = createTextField(32); // radio buttons (single/multiple/external object display formats JLabel typeLbl = createLabel(getResourceString("DOF_TYPE") + ":"); singleDisplayBtn = createRadioButton(getResourceString("DOF_SINGLE")); multipleDisplayBtn = createRadioButton(getResourceString("DOF_MULTIPLE") + ":"); singleDisplayBtn.setSelected(true); CellConstraints cc = new CellConstraints(); if (dataObjFormatter.getFormatters().size() == 1) { DataObjDataFieldFormatIFace dof = dataObjFormatter.getFormatters().iterator().next(); if (dof.isCustom()) { if (dof.hasEditor()) { customEditor = dof.getCustomEditor(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { setHasChanged(true); } }); } else { isEditable = false; UIRegistry.showLocalizedMsg("DOF_NO_CST_EDT"); return; } } } if (customEditor == null) { ButtonGroup displayTypeGrp = new ButtonGroup(); displayTypeGrp.add(singleDisplayBtn); displayTypeGrp.add(multipleDisplayBtn); addDisplayTypeRadioButtonListeners(); // combo box that lists fields that can be selected when multiple // display radio button is selected DefaultComboBoxModel cboModel = new DefaultComboBoxModel(); valueFieldCbo = createComboBox(cboModel); addValueFieldsToCombo(null); addValueFieldCboAL(); // little panel to hold multiple display radio button and its combo box PanelBuilder multipleDisplayPB = new PanelBuilder(new FormLayout("l:p,f:p:g", "p")); multipleDisplayPB.add(multipleDisplayBtn, cc.xy(1, 1)); multipleDisplayPB.add(valueFieldCbo, cc.xy(2, 1)); // format editing panels (dependent on the type for format: single/multiple) DataObjSwitchFormatterContainerIface formatterContainer = new DataObjSwitchFormatterSingleContainer( dataObjFormatter); fmtSingleEditingPanel = new DataObjFieldFormatSinglePanel(tableInfo, formatterContainer, dataObjFieldFormatMgrCache, uiFieldFormatterMgrCache, this, getOkBtn()); fmtMultipleEditingPanel = new DataObjFieldFormatMultiplePanel(tableInfo, formatterContainer, dataObjFieldFormatMgrCache, uiFieldFormatterMgrCache, this, getOkBtn()); // Panel for radio buttons and display formatting editing panel PanelBuilder pb = new PanelBuilder(new FormLayout("r:p,4px,f:p:g", "p,2px,p,10px,p,p,10px,f:p:g")); int y = 1; pb.add(nameLbl, cc.xy(1, y)); pb.add(nameText, cc.xy(3, y)); y += 2; pb.add(titleLbl, cc.xy(1, y)); pb.add(titleText, cc.xy(3, y)); y += 2; pb.add(typeLbl, cc.xy(1, y)); pb.add(singleDisplayBtn, cc.xy(3, y)); y += 1; pb.add(multipleDisplayPB.getPanel(), cc.xy(3, y)); y += 2; // both panels occupy the same space pb.add(fmtSingleEditingPanel, cc.xyw(1, y, 3)); pb.add(fmtMultipleEditingPanel, cc.xyw(1, y, 3)); pb.setDefaultDialogBorder(); contentPanel = pb.getPanel(); } else { PanelBuilder pb = new PanelBuilder(new FormLayout("r:p,4px,f:p:g", "p,6px,p,2px,p,4px,p,10px")); int y = 1; pb.addSeparator(getResourceString("DOF_CST_ED"), cc.xyw(1, y, 3)); y += 2; pb.add(nameLbl, cc.xy(1, y)); pb.add(nameText, cc.xy(3, y)); y += 2; pb.add(titleLbl, cc.xy(1, y)); pb.add(titleText, cc.xy(3, y)); y += 2; String labelStr = dataObjFormatter.getFormatters().iterator().next().getLabel(); if (StringUtils.isNotEmpty(labelStr)) { pb.add(UIHelper.createFormLabel(labelStr), cc.xy(1, y)); pb.add(customEditor, cc.xy(3, y)); y += 2; } else { pb.add(customEditor, cc.xyw(1, y, 3)); y += 2; } pb.setDefaultDialogBorder(); contentPanel = pb.getPanel(); } mainPanel.add(contentPanel, BorderLayout.CENTER); // after all is created, set initial selection on format list fillWithObjFormatter(dataObjFormatter, true); // title text field DocumentAdaptor nameChangedDL = new DocumentAdaptor() { @Override protected void changed(DocumentEvent ev) { String name = nameText.getText(); String title = titleText.getText(); isInError = (StringUtils.isEmpty(name) || dataObjFieldFormatMgrCache.getDataFormatter(name) != null); dataObjFormatter.setName(name); dataObjFormatter.setTitle(title); setHasChanged(true); } }; titleText.getDocument().addDocumentListener(nameChangedDL); nameText.getDocument().addDocumentListener(nameChangedDL); updateUIEnabled(); packWithLargestPanel(); }