List of usage examples for java.awt.event FocusEvent getOppositeComponent
public Component getOppositeComponent()
From source file:com.aw.swing.mvp.cmp.pick.PickManager.java
/** * @param attrName La caja de texto txt<attrName> debe existir * @param pick//www. j ava 2s .c o m * @return */ public Pick registerPick(String attrName, final Pick pick) { final String pickName = getPickName(attrName); getPicksInfo().add(new PickInfo(pick, attrName, pickName)); picks.add(pick); if (pick instanceof PickImpl) { ((PickImpl) pick).setPresenter(presenter); pick.setMainAttribute(attrName); final JTextComponent jTextComponent = (JTextComponent) presenter.getIpView() .getComponent(getTxtPick(attrName)); jTextComponent.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { if (e.isTemporary()) { return; } // if the pick action is currently executing Boolean executingPick = (Boolean) jTextComponent .getClientProperty(BindingComponent.ATTR_EXECUTING_PICK_ACTION); if ((executingPick != null) && (executingPick)) { jTextComponent.putClientProperty(BindingComponent.ATTR_EXECUTING_PICK_ACTION, null); // return; } System.out.println("XXX Focus LOST 2"); // if the focus will be directed to the pick Button Component cmp = e.getOppositeComponent(); if (cmp instanceof JComponent) { JComponent jComponent = (JComponent) cmp; String actionName = (String) jComponent.getClientProperty(BindingComponent.ATTR_ACTION); if (pickName.equals(actionName)) { return; } } if (!pick.isPickFilled()) { jTextComponent.setText(""); } } }); jTextComponent.addKeyListener(new PickKeyListener(pick)); jTextComponent.putClientProperty(PICK_NAME, pickName); jTextComponent.putClientProperty(PICK, pick); // JButton jButton = (JButton) presenter.getIpView().getComponent(getBtnPick(attrName)); } return pick; }
From source file:com.github.fritaly.dualcommander.DirectoryBrowser.java
@Override public void focusGained(FocusEvent e) { if (e.getSource() == table) { // Propagate the event final FocusListener[] listeners = getListeners(FocusListener.class); if (listeners != null) { final FocusEvent event = new FocusEvent(this, e.getID(), e.isTemporary(), e.getOppositeComponent()); for (FocusListener listener : listeners) { listener.focusGained(event); }/* w w w. j a va2 s . c om*/ } } }
From source file:com.github.fritaly.dualcommander.DirectoryBrowser.java
@Override public void focusLost(FocusEvent e) { if (e.getSource() == table) { // Propagate the event final FocusListener[] listeners = getListeners(FocusListener.class); if (listeners != null) { final FocusEvent event = new FocusEvent(this, e.getID(), e.isTemporary(), e.getOppositeComponent()); for (FocusListener listener : listeners) { listener.focusLost(event); }/*from w w w . java2s . c om*/ } } }
From source file:org.nekorp.workflow.desktop.view.DatosAutoView.java
private void numeroSerieFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_numeroSerieFocusLost if (evt.getOppositeComponent() != this.search) { this.searchScroll.setVisible(false); }/*ww w. j a v a 2 s .c o m*/ }
From source file:edu.ku.brc.specify.tasks.subpane.qb.QueryFieldPanel.java
/** * @param iconSize/*from w w w .j a va 2 s . com*/ * @param returnWidths * @return */ protected int[] buildControlLayout(final IconManager.IconSize iconSize, final boolean returnWidths, final Component saveBtn) { FocusListener focusListener = new FocusListener() { /* * (non-Javadoc) * * @see java.awt.event.FocusListener#focusGained(java.awt.event.FocusEvent) */ // @Override public void focusGained(FocusEvent e) { //Checking oppositeComponent to work around //weird behavior after addBtn is clicked which //causes top queryFieldPanel to be selected. if (ownerQuery.getAddBtn() != null && e.getOppositeComponent() != ownerQuery.getAddBtn()) { ownerQuery.selectQFP(QueryFieldPanel.this); } } /* * (non-Javadoc) * * @see java.awt.event.FocusListener#focusLost(java.awt.event.FocusEvent) */ // @Override public void focusLost(FocusEvent e) { // nada } }; KeyListener enterListener = new KeyListener() { @Override public void keyPressed(KeyEvent arg0) { //nuthin } @Override public void keyReleased(KeyEvent arg0) { //nuthin } @Override public void keyTyped(KeyEvent arg0) { if (arg0.getKeyChar() == KeyEvent.VK_ENTER && ownerQuery != null) { ownerQuery.doSearch(); } } }; comparators = getComparatorList(fieldQRI); //XXX need to build schemaItem for header panel too... if (schemaMapping != null) { schemaItemCBX = edu.ku.brc.ui.UIHelper.createComboBox(); schemaItemCBX.addItem("empty"); //to work around validator blow up for empty lists. DataChangeNotifier dcnsi = validator.hookupComponent(schemaItemCBX, "sicbx", UIValidator.Type.Changed, "", true); schemaItemCBX.addActionListener(dcnsi); schemaItemCBX.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { if (!QueryFieldPanel.this.ownerQuery.isUpdatingAvailableConcepts()) { if (e.getStateChange() == ItemEvent.SELECTED) { if (e.getItem() instanceof SpExportSchemaItem) { QueryFieldPanel.this.schemaItem = (SpExportSchemaItem) e.getItem(); } else { SpExportSchemaItemMapping m = QueryFieldPanel.this.getItemMapping(); SpExportSchemaItem si = QueryFieldPanel.this.schemaItem; String item = e.getItem().toString(); if (StringUtils.isNotBlank(item) && ownerQuery.isAvailableExportFieldName(QueryFieldPanel.this, item)) { if (m != null) { m.setExportedFieldName(e.getItem().toString()); } if (si != null) { si.setFieldName(e.getItem().toString()); } } else { if (StringUtils.isBlank(item)) { UIRegistry.displayErrorDlgLocalized( "QueryFieldPanel.ExportFieldNameInvalid", item); } else { UIRegistry.displayErrorDlgLocalized( "QueryFieldPanel.ExportFieldNameAlreadyUsed", item); } schemaItemCBX.setSelectedIndex(0); } } ownerQuery.updateAvailableConcepts(); } } } }); } else { schemaItemCBX = null; } iconLabel = new JLabel(icon); iconLabel.addFocusListener(focusListener); String fieldLabelText = fieldQRI != null ? fieldQRI.getTitle() : "WXYZ"; if (fieldQRI instanceof RelQRI) { DBRelationshipInfo.RelationshipType relType = ((RelQRI) fieldQRI).getRelationshipInfo().getType(); if (relType.equals(DBRelationshipInfo.RelationshipType.OneToMany) || relType.equals(DBRelationshipInfo.RelationshipType.ManyToMany)) { fieldLabelText += " " + UIRegistry.getResourceString("QB_AGGREGATED"); } else { fieldLabelText += " " + UIRegistry.getResourceString("QB_FORMATTED"); } } fieldLabel = createLabel(fieldLabelText); fieldLabel.addFocusListener(focusListener); fieldLabel.addKeyListener(enterListener); isNotCheckbox = createCheckBox("isNotCheckbox"); isNotCheckbox.addFocusListener(focusListener); isNotCheckbox.addKeyListener(enterListener); operatorCBX = createComboBox(comparators); operatorCBX.addFocusListener(focusListener); operatorCBX.addKeyListener(enterListener); boolean isBool = fieldQRI != null && fieldQRI.getDataClass().equals(Boolean.class); if (!isBool) { operatorCBX.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { criteria.setVisible(!operatorCBX.getSelectedItem().equals(SpQueryField.OperatorType.EMPTY)); } } }); } if (pickList == null) { boolean hasBetweenOp = false; for (int o = 0; o < comparators.length; o++) { if (comparators[o].equals(OperatorType.BETWEEN)) { hasBetweenOp = true; break; } } if (hasBetweenOp) { criteria = new CriteriaPair(enterListener); operatorCBX.addActionListener(this); } else { criteria = createTextField("1"); criteria.addKeyListener(enterListener); } } else { criteria = createPickList(saveBtn); if (!ownerQuery.isPromptMode()) { ((PickListCriteriaCombo) criteria) .setCurrentOp((SpQueryField.OperatorType) operatorCBX.getModel().getElementAt(0)); } criteria.addKeyListener(enterListener); operatorCBX.addItemListener(new ItemListener() { /* * (non-Javadoc) * * @see javax.swing.event.ListSelectionListener#valueChanged(javax.swing.event.ListSelectionEvent) */ //@Override public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { // System.out.println("setting curront op"); ((PickListCriteriaCombo) criteria) .setCurrentOp((SpQueryField.OperatorType) operatorCBX.getSelectedItem()); } } }); } //criteria.addFocusListener(focusListener); sortCheckbox = new MultiStateIconButon( new ImageIcon[] { IconManager.getImage("GrayDot", IconManager.IconSize.Std16), IconManager.getImage("UpArrow", IconManager.IconSize.Std16), IconManager.getImage("DownArrow", IconManager.IconSize.Std16) }); DataChangeNotifier dcn = validator.hookupComponent(sortCheckbox, "scb", UIValidator.Type.Changed, "", true); sortCheckbox.addFocusListener(focusListener); sortCheckbox.addActionListener(dcn); sortCheckbox.addKeyListener(enterListener); if (!this.ownerQuery.isPromptMode()) { isEnforcedCkbx = createCheckBox("isEnforcedCkbx"); dcn = validator.hookupComponent(isEnforcedCkbx, "iecb", UIValidator.Type.Changed, "", true); isEnforcedCkbx.addActionListener(dcn); isEnforcedCkbx.addFocusListener(focusListener); isEnforcedCkbx.addKeyListener(enterListener); } if (!this.ownerQuery.isPromptMode()) { isDisplayedCkbx = createCheckBox("isDisplayedCkbx"); dcn = validator.hookupComponent(isDisplayedCkbx, "idcb", UIValidator.Type.Changed, "", true); isDisplayedCkbx.addFocusListener(focusListener); isDisplayedCkbx.addKeyListener(enterListener); isDisplayedCkbx.addActionListener(dcn); isDisplayedCkbx.addActionListener(new ActionListener() { /* (non-Javadoc) * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ @Override public void actionPerformed(ActionEvent arg0) { SwingUtilities.invokeLater(new Runnable() { /* (non-Javadoc) * @see java.lang.Runnable#run() */ @Override public void run() { sortCheckbox.setEnabled(isDisplayedCkbx.isSelected()); ownerQuery.changeNotification(QueryFieldPanel.this); } }); } }); isPromptCkbx = createCheckBox("isPromptCkbx"); dcn = validator.hookupComponent(isPromptCkbx, "ipcb", UIValidator.Type.Changed, "", true); isPromptCkbx.addActionListener(dcn); isPromptCkbx.addFocusListener(focusListener); isPromptCkbx.addKeyListener(enterListener); closeBtn = edu.ku.brc.ui.UIHelper.createIconBtn("Close", "QB_REMOVE_FLD", new ActionListener() { public void actionPerformed(ActionEvent ae) { boolean clearIt = schemaItem != null; ownerQuery.removeQueryFieldItem((QueryFieldPanel) ((JComponent) ae.getSource()).getParent()); if (clearIt) { setField(null, null); } } }); closeBtn.setEnabled(true); closeBtn.setFocusable(false); closeBtn.addMouseListener(new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { ((JButton) e.getSource()).setIcon(IconManager.getIcon("CloseHover")); super.mouseEntered(e); } @Override public void mouseExited(MouseEvent e) { ((JButton) e.getSource()).setIcon(IconManager.getIcon("Close")); super.mouseExited(e); } }); } else { isDisplayedCkbx = null; this.isPromptCkbx = null; this.isEnforcedCkbx = null; this.closeBtn = null; } JComponent[] qComps = { iconLabel, fieldLabel, isNotCheckbox, operatorCBX, criteria, sortCheckbox, isDisplayedCkbx, isPromptCkbx, isEnforcedCkbx, closeBtn, null }; JComponent[] sComps = { schemaItemCBX, iconLabel, fieldLabel, isNotCheckbox, operatorCBX, criteria, sortCheckbox, isDisplayedCkbx, isEnforcedCkbx, closeBtn, null }; // 0 1 2 3 4 5 6 7 8 9 if (schemaMapping == null) { comps = qComps; } else { comps = sComps; } StringBuilder sb = new StringBuilder(); Integer[] qFixedCmps = { 300 }; Integer[] sFixedCmps = { 268, 300 }; Integer[] fixedCmps; if (schemaMapping != null) { fixedCmps = sFixedCmps; } else { fixedCmps = qFixedCmps; } if (columnDefStr == null) { for (int i = 0; i < comps.length; i++) { sb.append(i == 0 ? "" : ","); if (isCenteredComp(i)) sb.append("c:"); if (i >= fixedCmps.length) { sb.append("p"); } else { sb.append(fixedCmps[i] + "px"); } if (isGrowComp(i)) sb.append(":g"); sb.append(",4px"); } } else { sb.append(columnDefStr); } PanelBuilder builder = new PanelBuilder(new FormLayout("3px, " + sb.toString() + ", 3px", "3px, p, 3px"), this); CellConstraints cc = new CellConstraints(); int col = 1; for (JComponent comp : comps) { if (comp != null) { builder.add(comp, cc.xy(col + 1, 2)); } col += 2; } if (fieldQRI != null) { icon = IconManager.getIcon(fieldQRI.getTableInfo().getName(), iconSize); setIcon(icon); } if (!ownerQuery.isPromptMode()) { isDisplayedCkbx.setSelected(true); isPromptCkbx.setSelected(!(fieldQRI instanceof RelQRI)); isEnforcedCkbx.setSelected(false); } if (fieldQRI == null && !returnWidths) { for (int c = 1; c < comps.length; c++) { if (comps[c] != null) { comps[c].setVisible(false); } } } else { // for now boolean isRel = fieldQRI != null && fieldQRI instanceof RelQRI; boolean isTreeLevel = fieldQRI instanceof TreeLevelQRI; isNotCheckbox.setVisible(!isRel || pickList != null); operatorCBX.setVisible(!isRel || pickList != null); criteria.setVisible((!isRel && !isBool) || pickList != null); if (schemaMapping != null) { this.sortCheckbox.setVisible(!(isTreeLevel || isRel)); } else { if (!isRel) { this.sortCheckbox.setVisible(true); } else { this.sortCheckbox.setVisible( ((RelQRI) fieldQRI).getRelationshipInfo().getType() != RelationshipType.OneToMany); } } if (!ownerQuery.isPromptMode()) { isDisplayedCkbx.setVisible(!isRel); isPromptCkbx.setVisible(!isRel); isEnforcedCkbx.setVisible(!isRel); } } validate(); doLayout(); int[] widths = null; if (returnWidths) { widths = new int[comps.length]; for (int i = 0; i < comps.length; i++) { widths[i] = comps[i] != null ? comps[i].getSize().width : 0; } if (this.schemaMapping == null) { widths[0] = iconSize.size(); widths[1] = 200; } else { widths[1] = iconSize.size(); widths[2] = 200; } } return widths; }
From source file:org.nekorp.workflow.desktop.view.DatosClienteView.java
private void nombreClienteFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_nombreClienteFocusLost //TODO responder algunas preguntas primero //si habra clientes con los mismos nombres por ejemplo if (evt.getOppositeComponent() != this.search) { this.searchScroll.setVisible(false); }//ww w.j a va2 s .com // if(evt.getOppositeComponent() != this.search && evt.getOppositeComponent() == this.rfcCliente) { // this.searchScroll.setVisible(false); // if (!recienCargado) { // recienCargado = true; // Cliente cliente = this.aplication.loadByName(this.nombreCliente.getText()); // int n = javax.swing.JOptionPane.showConfirmDialog( // mainFrame, // "El cliente " + this.nombreCliente.getText() + " ya existe\n" // + "Desea cargar sus datos?", // "Cliente existente", // javax.swing.JOptionPane.YES_NO_CANCEL_OPTION); // if (n == javax.swing.JOptionPane.YES_OPTION) { // updateIgnoreCount = 2; // this.aplication.loadCliente(cliente); // } // if (n == javax.swing.JOptionPane.CANCEL_OPTION || n == javax.swing.JOptionPane.CLOSED_OPTION) { // recienCargado = true; // } // this.actualizaListaSearch(new LinkedList<Cliente>()); // } // } }
From source file:tufts.vue.RichTextBox.java
/** * This is what triggers the final save of the new text value to the LWComponent, * and notify's the UndoManager that a user action was completed. *///from w ww. j a v a2 s. c o m public void focusLost(FocusEvent e) { final java.awt.Component opposite = e.getOppositeComponent(); if (opposite != null) { if ((opposite.getName() != null && opposite.getName().equals(FontEditorPanel.SIZE_FIELD_NAME)) || opposite.getClass() == ColorMenuButton.class) return; else if (opposite.getClass() == FontEditorPanel.class || DockWindow.isDockWindow(opposite) || // todo: something more generic than this getName check: set a property on the JComponent tagging it as a tool/editor? opposite.getClass() == JComboBox.class || (opposite.getName() != null && opposite.getName().equals(tufts.vue.gui.ColorMenuButton.COLOR_POPUP_NAME)) || //quaqua makes this a bit awkard, this is for quaqua's color chooser. (opposite.getName() != null && opposite.getName().equals("dialog0"))) { //Earlier i was just returning here, but this creates a problem //because the component has already lost the focus...and so it doesn't //get another focusLost the next time....so re-request the focus if you've lost //it so that we get the event again when we really want to get rid of the focus //so we can properly remove the edit control. requestFocus(); return; } } else if (opposite == null) { if (DEBUG.FOCUS) outc("Focus not lost because opposite component = null"); requestFocus(); return; } //System.out.println(e.getComponent().toString()); //System.out.println(e.getOppositeComponent().toString()); if (TestDebug || DEBUG.FOCUS) outc("focusLost to " + e.getOppositeComponent() + " " + opposite.getName()); if (TestHarness == false && getParent() != null) { getParent().remove(this); // VUE.getFormattingPanel().getTextPropsPane().getFontEditorPanel().updateFormatControlsTB(this); } if (keyWasPressed || !keyWasPressed) { // TODO: as per VueTextField, need to handle drag & drop detect // only do this if they typed something (so we don't wind up with "label" // for the label on an accidental edit activation) if (TestDebug || DEBUG.FOCUS) out("key was pressed; setting label to: [" + getText() + "]"); String text = getText(); if (revert) { text = mUnchangedText; revert = false; // setText(text); } lwc.setLabel0(text, false); VUE.getUndoManager().mark(); } //// setSize(getPreferredSize()); // lwc.setSize(mBounds.width, mBounds.height); if (lwc.getParent() != null && lwc.getParent() instanceof LWNode) lwc.getParent().layout(); lwc.notify(this, LWKey.Repaint); }
From source file:tufts.vue.RichTextBox.java
public void focusGained(FocusEvent e) { if (TestDebug || DEBUG.FOCUS) outc("focusGained from " + e.getOppositeComponent()); }