@Test
  public void testDispose() {
    JTextComponent component = new JTextField("initial text");
    JTextComponentTextProperty property = new JTextComponentTextProperty(component);
    ValueChangeListener<String> listener = mock(ValueChangeListener.class);
    property.addValueChangeListener(listener);

    component.setText("new text");
    component.setText("another one");

    property.dispose();

    component.setText("yet another text");
    component.setText("");

    property.dispose();
    property.dispose();
    property.dispose();

    verify(listener).valueChanged(property, "initial text", "");
    verify(listener).valueChanged(property, "", "new text");
    verify(listener).valueChanged(property, "new text", "");
    verify(listener).valueChanged(property, "", "another one");
    verifyNoMoreInteractions(listener);
  }
 public void testAssertTextEqualsWithEmptyStringIsTheSameAsAssertTextIsEmpty() throws Exception {
   initWithHtmlTextPane();
   assertTrue(textBox.textEquals(""));
   jTextComponent.setText("blah");
   jTextComponent.setText("");
   assertTrue(textBox.textEquals(""));
 }
 public void testAssertEmptyAfterReset() throws Exception {
   initWithHtmlTextPane();
   assertTrue(textBox.textIsEmpty());
   jTextComponent.setText("blah");
   jTextComponent.setText("");
   assertTrue(textBox.textIsEmpty());
 }
 public void setText(String text) {
   if (dataComponent instanceof JTextComponent) {
     ((JTextComponent) dataComponent).setText(text);
   } else if (dataComponent instanceof JScrollPane) {
     Component subComponent = ((JScrollPane) dataComponent).getComponent(0);
     if (subComponent instanceof JTextComponent) {
       ((JTextComponent) subComponent).setText(text);
     }
   }
 }
 public void testAssertEmptyWithPlainText() throws Exception {
   jTextComponent.setText("");
   assertTrue(textBox.textIsEmpty());
   jTextComponent.setText("a");
   try {
     assertTrue(textBox.textIsEmpty());
     throw new AssertionFailureNotDetectedError();
   } catch (AssertionFailedError e) {
     assertEquals("Text should be empty but contains: a", e.getMessage());
   }
 }
 private void setText(JTextComponent comp, String text) {
   if (text == null) {
     comp.setText("");
     comp.setEnabled(false);
     comp.setEditable(false);
   } else {
     comp.setText(text);
     comp.setEnabled(true);
     comp.setEditable(true);
   }
   comp.setCaretPosition(0);
 }
    private void setInputComponentValue() {
      ModelNode valueToSet = defaultValue;
      if (value != null) valueToSet = value;
      if (valueToSet == null) return;

      if (valueComponent instanceof JLabel) {
        ((JLabel) valueComponent).setText(valueToSet.asString());
      }

      if (valueComponent instanceof ListEditor) {
        ((ListEditor) valueComponent).setValue(valueToSet);
      }

      if (!valueToSet.isDefined()) return;

      if (valueComponent instanceof JTextComponent) {
        ((JTextComponent) valueComponent).setText(valueToSet.asString());
      }

      if (valueComponent instanceof JCheckBox) {
        ((JCheckBox) valueComponent).setSelected(valueToSet.asBoolean());
      }

      if (valueComponent instanceof JComboBox) {
        ((JComboBox) valueComponent).setSelectedItem(valueToSet.asString());
      }

      if (valueComponent instanceof BrowsePanel) {
        ((BrowsePanel) valueComponent).setText(valueToSet.asString());
      }
    }
  /*
   * (non-Javadoc)
   *
   * @see
   * es.eucm.eadventure.editor.view.ComponentProvider#getComponent(es.eucm
   * .eadventure.editor.view.generics.InterfaceElement)
   */
  @Override
  public JComponent getComponent(CommandManager manager) {
    JComponent component = null;
    JTextComponent textField;
    switch (getExpectedLength()) {
      case LONG:
        textField = new JTextArea(getTitle());
        component = textField;
        break;
      case SHORT:
      case NORMAL:
        textField = new JTextField(getTitle());
        component = textField;
        break;
      default:
        throw new IllegalArgumentException("Bad expected length");
    }
    textField.setToolTipText(getToolTipText());

    textField.setText(stringHandler.getString(read(getFieldDescriptor())));

    textField
        .getDocument()
        .addDocumentListener(
            new TextFieldDocumentListener(manager, read(getFieldDescriptor()), textField));

    return component;
  }
  private JComponent getTextEditorComponent() {
    if (this.textEditorComponent == null) {
      final JTextComponent textComponent = createTextComponent();

      textComponent.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, tab);
      textComponent.setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, shiftTab);

      textComponent.setText(getSourceEditor().toEdit());
      textComponent
          .getDocument()
          .addDocumentListener(
              new DocumentListener() {
                public void insertUpdate(DocumentEvent e) {
                  getSourceEditor().setText(textComponent.getText());
                  firePropertyChange();
                }

                public void removeUpdate(DocumentEvent e) {
                  getSourceEditor().setText(textComponent.getText());
                  firePropertyChange();
                }

                public void changedUpdate(DocumentEvent e) {}
              });
      this.textEditorComponent = createScrollPanel(textComponent);
    }
    return this.textEditorComponent;
  }
 public void testGetText() throws Exception {
   jTextComponent.setText("some text");
   assertEquals("some text", textBox.getText());
   textBox.setText("new text");
   assertEquals("new text", textBox.getText());
   textBox.setText("new <b>text</b>");
   assertEquals("new <b>text</b>", textBox.getText());
 }
 private void promptForTime() {
   JTextComponent field = (JTextComponent) editor;
   String prompt = field.getText();
   prompt = prompt + "(???)";
   field.setText(prompt);
   int len = prompt.length();
   field.select(len - 4, len - 1);
 }
  public static void setHexadecimalInputFilter(
      JTextComponent textComponent, int maximumInputLength) {
    PlainDocument plainDocument = (PlainDocument) textComponent.getDocument();
    plainDocument.setDocumentFilter(new HexadecimalInputFilter(maximumInputLength));

    String text = textComponent.getText();
    text = trimHexadecimal(text);

    if (text.length() > maximumInputLength) {
      textComponent.setText(text.substring(text.length() - maximumInputLength, text.length()));
    } else {
      while (text.length() < maximumInputLength) {
        text = "0" + text;
      }

      textComponent.setText(text);
    }
  }
 /**
  * Create the JScroll pane for the scene's text with the appropriate settings for it to be
  * displayed correctly
  *
  * @return - the JScrollPane for the scene text
  */
 private JScrollPane generateTextPane() {
   tcText = SwingUtil.createTextComponent(mainFrame);
   tcText.setName(CN_TEXT);
   tcText.setText(scene.getText());
   tcText.setDragEnabled(true);
   tcText.addFocusListener(this);
   SwingUtil.addCtrlEnterAction(tcText, new EditEntityAction(mainFrame, scene, true));
   return new JScrollPane(tcText);
 }
  public void testAssertEmptyWithHtml() throws Exception {
    initWithHtmlTextPane();
    assertTrue(textBox.textIsEmpty());
    jTextComponent.setText("");
    assertTrue(textBox.textIsEmpty());
    jTextComponent.setText("a");
    try {
      assertTrue(textBox.textIsEmpty());
      throw new AssertionFailureNotDetectedError();
    } catch (AssertionFailedError e) {
      assertEquals(
          "Text should be empty but contains: <html>\n"
              + "  <head>\n"
              + "    \n"
              + "  </head>\n"
              + "  <body>\n"
              + "    a\n"
              + "  </body>\n"
              + "</html>\n",
          e.getMessage());
    }

    jTextComponent.setText(
        "<html>\n"
            + "  <head>\n"
            + "\n"
            + "  </head>\n"
            + "  <body>\n"
            + "    <p>\n"
            + "      \n"
            + "    </p>\n"
            + "  </body>\n"
            + "</html>\n"
            + "\n"
            + "");
    assertTrue(textBox.textIsEmpty());

    jTextComponent.setText("<html><p></html>");
    jTextComponent.setText("");
    assertTrue(textBox.textIsEmpty());
  }
 public void testAssertTextDoesNotContain() throws Exception {
   jTextComponent.setText("some text");
   assertTrue(textBox.textDoesNotContain("xxx"));
   try {
     assertTrue(textBox.textDoesNotContain("some"));
     throw new AssertionFailureNotDetectedError();
   } catch (AssertionFailedError e) {
     assertEquals(
         "The component text should not contain 'some' - actual content is:some text",
         e.getMessage());
   }
 }
Exemple #16
0
 @Override
 public void updateUI() {
   super.updateUI();
   String text = getParameter().getValueAsText();
   JTextComponent textField = getTextComponent();
   if (!textField.getText().equals(text)) {
     textField.setText(text);
   }
   if (textField.isEnabled() != isEnabled()) {
     textField.setEnabled(isEnabled());
   }
 }
 public void testAssertTextEquals() throws Exception {
   assertTrue(textBox.textEquals(""));
   jTextComponent.setText("some text");
   assertTrue(textBox.textEquals("some text"));
   assertFalse(textBox.textEquals(""));
   try {
     assertTrue(textBox.textEquals("error"));
     throw new AssertionFailureNotDetectedError();
   } catch (AssertionFailedError e) {
     assertEquals("expected:<[error]> but was:<[some text]>", e.getMessage());
   }
 }
 @Test
 public void testBug70() throws FileNotFoundException, CDKException {
   JPanelFixture jcppanel = applet.panel("appletframe");
   JChemPaintPanel panel = (JChemPaintPanel) jcppanel.target;
   applet.button("hexagon").click();
   applet.click();
   Point2d point = getAtomPoint(panel, 0);
   applet
       .panel("renderpanel")
       .robot
       .click(
           applet.panel("renderpanel").component(),
           new Point((int) point.x, (int) point.y),
           MouseButton.RIGHT_BUTTON,
           1);
   applet
       .panel("renderpanel")
       .robot
       .click(
           applet.panel("renderpanel").component(),
           new Point((int) point.x, (int) point.y),
           MouseButton.RIGHT_BUTTON,
           1);
   applet.menuItem("showACProperties").click();
   DialogFixture dialog = applet.dialog();
   JTextComponent textfield = dialog.robot.finder().find(JTextComponentMatcher.withName("Title"));
   textfield.setText("aaa");
   JButtonFixture okbutton =
       new JButtonFixture(
           dialog.robot, dialog.robot.finder().find(new ButtonTextComponentMatcher("OK")));
   okbutton.click();
   applet.menuItem("save").click();
   dialog = applet.dialog();
   File file = new File(System.getProperty("java.io.tmpdir") + File.separator + "test.mol");
   if (file.exists()) file.delete();
   JComboBox combobox =
       dialog
           .robot
           .finder()
           .find(new ComboBoxTextComponentMatcher("org.openscience.jchempaint.io.JCPFileFilter"));
   combobox.setSelectedItem(combobox.getItemAt(SAVE_AS_MOL_COMBOBOX_POS));
   JTextComponentFixture text = dialog.textBox();
   text.setText(file.toString());
   JButtonFixture savebutton =
       new JButtonFixture(
           dialog.robot, dialog.robot.finder().find(new ButtonTextComponentMatcher("Save")));
   savebutton.click();
   MDLReader reader = new MDLReader(new FileInputStream(file));
   IAtomContainer mol =
       (IAtomContainer)
           reader.read(DefaultChemObjectBuilder.getInstance().newInstance(IAtomContainer.class));
   Assert.assertEquals("aaa", (String) mol.getProperty(CDKConstants.TITLE));
 }
Exemple #19
0
 /**
  * 入力の制限されたテキストフィールドを返します.
  *
  * @return
  * @throws IllegalArgumentException {@link FileNameEditor#createTreeCellEditorForText()
  *     }で作成されたセルエディタの{@link DefaultCellEditor#getComponent() }が{@link JTextComponent}でないとき
  */
 @Override
 protected final TreeCellEditor createTreeCellEditor() {
   DefaultCellEditor cellEditor = createTreeCellEditorForText();
   if (!(cellEditor.getComponent() instanceof JTextComponent)) {
     throw new IllegalStateException();
   }
   JTextComponent editor = (JTextComponent) cellEditor.getComponent();
   String value = editor.getText();
   editor.setDocument(new FileNameDocument());
   editor.setText(value);
   return cellEditor;
 }
Exemple #20
0
  private void updateReplaceComponent() {
    final int oldCaretPosition =
        myReplaceTextComponent != null ? myReplaceTextComponent.getCaretPosition() : 0;
    String oldText =
        myReplaceTextComponent != null
            ? myReplaceTextComponent.getText()
            : myFindModel.getStringToReplace();

    if (!updateTextComponent(false)) {
      return;
    }
    if (oldText != null) {
      myReplaceTextComponent.setText(oldText);
    }

    myReplaceTextComponent
        .getDocument()
        .addDocumentListener(
            new DocumentAdapter() {
              @Override
              protected void textChanged(DocumentEvent e) {
                ApplicationManager.getApplication()
                    .invokeLater(
                        new Runnable() {
                          @Override
                          public void run() {
                            replaceFieldDocumentChanged();
                          }
                        });
              }
            });

    if (!getFindModel().isMultiline()) {
      new ReplaceOnEnterAction(this, myReplaceTextComponent);
    }

    // myReplaceTextComponent.setText(myFindModel.getStringToReplace());
    ApplicationManager.getApplication()
        .invokeLater(
            new Runnable() {
              @Override
              public void run() {
                myReplaceTextComponent.setCaretPosition(oldCaretPosition);
              }
            });

    new VariantsCompletionAction(myReplaceTextComponent);
    new NextOccurrenceAction(this, myReplaceFieldWrapper);
    new PrevOccurrenceAction(this, myReplaceFieldWrapper);
    myReplaceFieldWrapper.revalidate();
    myReplaceFieldWrapper.repaint();
  }
 /** 건네받는 컨테이너에 포함된 텍스트 필드와 콤보박스 초기화 */
 public static void initInformation(Container con) {
   Component[] comps = con.getComponents();
   for (Component component : comps) {
     /** 콤보박스일 경우 첫 값으로 설정 */
     if (component instanceof JComboBox) {
       ((JComboBox) component).setSelectedIndex(0);
     }
     /** 텍스트 컴포넌트일 경우 빈 값으로 설정 */
     if (component instanceof JTextComponent) {
       ((JTextComponent) component).setText("");
     }
   }
 }
 /**
  * @param baseURL may be <code>null</code>
  * @see PropertyPanel.PropertyField#setText
  */
 void setText(String text, String baseURL, DocumentListener documentListener) {
   //
   textComponent.getDocument().removeDocumentListener(documentListener);
   //
   if (editorType == EDITOR_TYPE_STYLED) {
     //
     // --- set content type ---
     ((JEditorPane) textComponent).setContentType("text/html");
     //
     // --- set base URL ---
     try {
       // Note: baseURL is null if no baseURL is set for the corresponding property
       // Note: baseURL is empty if corporate baseURL is used but not set
       if (baseURL != null && !baseURL.equals("")) {
         ((HTMLDocument) textComponent.getDocument()).setBase(new URL(baseURL));
       }
     } catch (MalformedURLException mue) {
       System.out.println("*** TextEditorPanel.setText(): invalid base URL: " + mue);
     }
     //
     // --- set text ---
     try {
       if (text.length() <= 59) { // ### 59 <html><head></head><body></body></html> + whitespace
         text = "<html><body><p></p></body></html>";
       }
       textComponent.setText(text);
       textComponent.setCaretPosition(0);
     } catch (Throwable e) {
       textComponent.setText(
           "<html><body><font color=#FF0000>Page can't be displayed</font></body></html>");
       System.out.println("*** TextEditorPanel.setText(): error while HTML rendering: " + e);
     }
   } else {
     textComponent.setText(text);
     textComponent.setCaretPosition(0);
   }
   //
   textComponent.getDocument().addDocumentListener(documentListener);
 }
 @Override
 public final void notifyTextAreaValue(final int id, final String value) {
   final Component combo = searchComponentByHcCode(mlet, id);
   if (combo != null
       && combo instanceof JComponent
       && JPanelDiff.isTextMultLinesEditor((JComponent) combo)) {
     final JTextComponent textArea = (JTextComponent) combo;
     textArea.setText(value);
     //			MCanvas.doActon(combo);
   } else {
     LogManager.err(NO_COMPONENT_HCCODE + id);
   }
 }
  public void keyTyped(KeyEvent e) {
    char ch = e.getKeyChar();
    JTextComponent inputArea = getInputArea();
    String text = inputArea.getText();

    // check for special characters, which insert some text
    // from the previous cell
    if (editingRow == 0 || text.length() != 0) {
      return;
    }

    GeoCasCell selCellValue = view.getConsoleTable().getGeoCasCell(editingRow - 1);

    if (!selCellValue.isError()) {
      switch (ch) {
        case ' ':
        case '|':
          // insert output of previous row (not in parentheses)
          inputArea.setText(selCellValue.getOutputRHS(StringTemplate.defaultTemplate) + " ");
          e.consume();
          break;
        case ')':
          // insert output of previous row in parentheses
          String prevOutput = selCellValue.getOutputRHS(StringTemplate.defaultTemplate);
          inputArea.setText("(" + prevOutput + ")");
          e.consume();
          break;
      }
    }
    // insert input of previous row
    // should work on errors also
    if ('=' == ch) {
      inputArea.setText(selCellValue.getInput(StringTemplate.defaultTemplate));
      e.consume();
    }
  }
  public void testPreferExactMatchOverCurrentlySelected() throws Exception {
    String[] items = new String[] {"exact", "exacter", "exactest"};

    JTextComponent textComponent = new JTextField();
    TextComponentAdaptor adaptor = new TextComponentAdaptor(textComponent, Arrays.asList(items));
    Document document = new AutoCompleteDocument(adaptor, true);
    textComponent.setDocument(document);

    textComponent.setText("exacter");
    assertTrue(adaptor.getSelectedItem().equals("exacter"));

    document.remove(4, 3);
    assertTrue(adaptor.getSelectedItem().equals("exacter"));

    document.insertString(4, "t", null);
    assertTrue(adaptor.getSelectedItem().equals("exact"));
  }
Exemple #26
0
  /**
   * Constructor.
   *
   * @param name of the field; must be unique within the store
   * @param label to display to the user
   * @param defValue default value to start with.
   * @param storeData store/fetch data from here, may be null.
   */
  public DurationField(
      String name, String label, TimeDuration defValue, PersistenceManager storeData) {
    super(name, label, storeData);
    validValue = getStoreValue(defValue);
    tf =
        new JTextField() {
          public JToolTip createToolTip() {
            return new MultilineTooltip();
          }
        };
    tf.setToolTipText("Formats:\n udunits time duration string");
    tf.setInputVerifier(new FldInputVerifier(tf, this));

    if (validValue != null) tf.setText(validValue.toString());

    finish();
  }
 /**
  * Set the value of the underlying component. Note that this will not work for ListEditor
  * components. Also, note that for a JComboBox, The value object must have the same identity as an
  * object in the drop-down.
  *
  * @param propName The DMR property name to set.
  * @param value The value.
  */
 public void setValue(String propName, Object value) {
   for (RequestProp prop : props) {
     if (prop.getName().equals(propName)) {
       JComponent valComp = prop.getValueComponent();
       if (valComp instanceof JTextComponent) {
         ((JTextComponent) valComp).setText(value.toString());
       }
       if (valComp instanceof AbstractButton) {
         ((AbstractButton) valComp).setSelected((Boolean) value);
       }
       if (valComp instanceof JComboBox) {
         ((JComboBox) valComp).setSelectedItem(value);
       }
       return;
     }
   }
 }
  @Override
  public void modelPropertyChange(PropertyChangeEvent evt) {
    // Object oldValue = evt.getOldValue();
    Object newValue = evt.getNewValue();
    String propName = evt.getPropertyName();

    if (BookController.StrandProps.UPDATE.check(propName)) {
      EntityUtil.refresh(mainFrame, scene.getStrand());
      setEndBgColor(scene.getStrand().getJColor());
      repaint();
      return;
    }

    if (BookController.SceneProps.UPDATE.check(propName)) {
      Scene newScene = (Scene) newValue;
      if (!newScene.getId().equals(scene.getId())) {
        // not this scene
        return;
      }
      scene = newScene;
      lbSceneNo.setText(scene.getChapterSceneNo(false));
      lbSceneNo.setToolTipText(scene.getChapterSceneToolTip());
      lbStatus.setIcon(scene.getStatusIcon());
      taTitle.setText(scene.getTitle());
      taTitle.setCaretPosition(0);
      tcText.setText(scene.getSummary());
      tcText.setCaretPosition(0);
      if (scene.hasSceneTs()) {
        if (!DateUtil.isZeroTimeDate(scene.getSceneTs())) {
          DateFormat formatter = I18N.getDateTimeFormatter();
          lbTime.setText(formatter.format(scene.getSceneTs()));
        } else {
          lbTime.setText("");
        }
      }
      return;
    }

    if (BookController.ChronoViewProps.ZOOM.check(propName)) {
      setZoomedSize((Integer) newValue);
      refresh();
    }
  }
 /**
  * Should not be used directly by Strandz. See package org.strandz.core.info.convert This must
  * come out as Strandz needs control over assignment
  *
  * @param comp
  * @param txt
  */
 public static void _setText(Object comp, Object txt) {
   Err.pr(SdzNote.DONT_USE_FROM_STRANDZ, "Don't use");
   if (comp instanceof JComponent) {
     String s = null;
     if (txt != null) {
       s = txt.toString();
     }
     if (comp instanceof JTextComponent) {
       ((JTextComponent) comp).setText(s);
     } else if (comp instanceof JLabel) {
       ((JLabel) comp).setText(s);
     } else {
       Err.error(
           "ComponentUtils.setText(), not yet support JComponent of type " + comp.getClass());
     }
   } else {
     Err.error("ComponentUtils.setText(), not yet support " + comp.getClass());
   }
 }
  /**
   * Sets the reason of a call failure if one occurs. The renderer should display this reason to the
   * user.
   *
   * @param reason the reason to display
   */
  public void setErrorReason(final String reason) {
    if (!SwingUtilities.isEventDispatchThread()) {
      SwingUtilities.invokeLater(
          new Runnable() {
            public void run() {
              setErrorReason(reason);
            }
          });
      return;
    }

    if (errorMessageComponent == null) {
      errorMessageComponent = new JTextPane();

      JTextPane textPane = (JTextPane) errorMessageComponent;
      textPane.setEditable(false);
      textPane.setOpaque(false);

      StyledDocument doc = textPane.getStyledDocument();

      MutableAttributeSet standard = new SimpleAttributeSet();
      StyleConstants.setAlignment(standard, StyleConstants.ALIGN_CENTER);
      StyleConstants.setFontFamily(standard, textPane.getFont().getFamily());
      StyleConstants.setFontSize(standard, 12);
      doc.setParagraphAttributes(0, 0, standard, true);

      GridBagConstraints constraints = new GridBagConstraints();
      constraints.fill = GridBagConstraints.HORIZONTAL;
      constraints.gridx = 0;
      constraints.gridy = 4;
      constraints.weightx = 1;
      constraints.weighty = 0;
      constraints.insets = new Insets(5, 0, 0, 0);

      add(errorMessageComponent, constraints);
      this.revalidate();
    }

    errorMessageComponent.setText(reason);

    if (isVisible()) errorMessageComponent.repaint();
  }