use of javax.swing.text.JTextComponent in project intellij-community by JetBrains.
the class ConfigureProxiesOptionsPanel method setStringProperties.
public void setStringProperties(final Map<String, String> properties) {
for (Map.Entry<String, String> entry : properties.entrySet()) {
final JComponent component = myKey2Component.get(entry.getKey());
if (component != null) {
JTextComponent textComponent = null;
if (component instanceof JTextComponent) {
textComponent = (JTextComponent) component;
} else if (component instanceof TextFieldWithBrowseButton) {
textComponent = ((TextFieldWithBrowseButton) component).getTextField();
}
if (textComponent != null) {
textComponent.setText(entry.getValue());
textComponent.selectAll();
}
component.setToolTipText(entry.getKey());
}
}
myTrustDefaultCAsCheckBox.setSelected(booleanPropertySelected(properties.get(myComponent2Key.get(myTrustDefaultCAsCheckBox))));
repositoryUrlsRecalculation();
}
use of javax.swing.text.JTextComponent in project enclojure by EricThorsen.
the class ClojureCodeCompletion_Provider method createTask.
public CompletionTask createTask(int i, final JTextComponent jTextComponent) {
// try {
// RT.var("clojure.core", "require").invoke(Symbol.create("test.CodeCompletion.PW.cljcompletion"));
// } catch (Throwable ex) {
// Exceptions.printStackTrace(ex);
// }
final int ctype = i;
if (i != CompletionProvider.COMPLETION_QUERY_TYPE && i != CompletionProvider.COMPLETION_ALL_QUERY_TYPE)
return null;
return new AsyncCompletionTask(new AsyncCompletionQuery() {
protected void query(final CompletionResultSet completionResultSet, final Document document, final int caretOffset) {
final StyledDocument bDoc = (StyledDocument) document;
int startOffset = -1;
class Operation implements Runnable {
boolean showCompletion = false;
boolean isDotPressed = false;
String filter = null;
int startOffset = caretOffset;
String nameSpace = null;
String lastAtom = null;
public void run() {
nameSpace = null;
lastAtom = null;
final Iterator it;
final String ret;
try {
final int lineStartOffset = getRowFirstNonWhite(bDoc, caretOffset);
String line;
if (caretOffset > lineStartOffset)
line = bDoc.getText(lineStartOffset, caretOffset - lineStartOffset);
else
line = "";
int begLine = indexOfSpace(line);
String filter = line.substring(begLine);
isDotPressed = dotPressed(filter);
int layout = getLayout(filter, isDotPressed);
begLine = lineStartOffset + begLine;
Hashtable processInfo = new Hashtable();
processInfo.put("layout", layout);
processInfo.put("filter", filter);
processInfo.put("begLine", begLine);
processInfo.put("isClojure", isClojure);
it = processLayout(processInfo);
filter = (String) processInfo.get("filter");
begLine = (Integer) processInfo.get("begLine");
if (it != null) {
handleMaps(it, completionResultSet, processInfo, filter, begLine);
//
}
if ((layout != backSlashAfterParen && layout != backSlashNoParen) && !isDotPressed) {
//now add hippie completion results
processInfo.put("isClojure", true);
processInfo.put("priority", 3);
processInfo.put("isMethodOrFunction", true);
processInfo.put("source", "Hippie Completion");
processInfo.put("isNamespaceOrPackage", false);
processInfo.put("isConstructor", false);
ArrayList<String> l = getAllHippieMatches(jTextComponent);
if (l.size() > 0) {
Iterator lit;
lit = l.listIterator();
while (lit.hasNext()) {
final String listentry = (String) lit.next();
completionResultSet.addItem(new ClojureCodeCompletionItem(listentry, begLine, caretOffset, processInfo));
}
}
}
completionResultSet.setAnchorOffset(lineStartOffset);
completionResultSet.finish();
} catch (BadLocationException ex) {
LOG.log(Level.FINEST, ex.getMessage());
}
}
private String handleNullString(String val) {
if (val == null)
return "";
else
return val;
}
private Integer handleNullInteger(Integer val) {
if (val == null)
return 0;
else
return val;
}
private Boolean handleNullBoolean(Boolean val) {
if (val == null)
return false;
else
return val;
}
private void handleMaps(Iterator iter, CompletionResultSet c, Hashtable pInfo, String filter, int begLine) {
Boolean blnCurrentListEmpty = true;
if (CurrentList.size() > 0)
blnCurrentListEmpty = false;
while (iter.hasNext()) {
final PersistentArrayMap entry = (PersistentArrayMap) iter.next();
if ((blnCurrentListEmpty) && (!gettingMethods))
CurrentList.add(entry);
String displaystr = (String) entry.get(Keyword.intern(Symbol.create("display")));
String fullclassstr = (String) entry.get(Keyword.intern(Symbol.create("fullclassname")));
Boolean isClojure = (Boolean) entry.get(Keyword.intern(Symbol.create("isclojure")));
Boolean isNamespaceOrPackage = (Boolean) entry.get(Keyword.intern(Symbol.create("isnamespaceorpkg")));
Boolean isMethodOrFunction = (Boolean) entry.get(Keyword.intern(Symbol.create("ismethodorfunction")));
Boolean isConstructor = (Boolean) entry.get(Keyword.intern(Symbol.create("isconstructor")));
String namespace = (String) entry.get(Keyword.intern(Symbol.create("namespace")));
String method = (String) entry.get(Keyword.intern(Symbol.create("method")));
Integer priority = (Integer) entry.get(Keyword.intern(Symbol.create("priority")));
pInfo.put("display", handleNullString(displaystr));
pInfo.put("fullclassname", handleNullString(fullclassstr));
pInfo.put("isClojure", isClojure);
pInfo.put("isNamespaceOrPackage", isNamespaceOrPackage);
pInfo.put("isMethodOrFunction", isMethodOrFunction);
pInfo.put("namespace", handleNullString(namespace));
pInfo.put("method", handleNullString(method));
pInfo.put("priority", handleNullInteger(priority));
pInfo.put("isConstructor", handleNullBoolean(isConstructor));
if (isClojure)
pInfo.put("source", "Clojure");
else
pInfo.put("source", "Java");
String origFilter = (String) pInfo.get("origFilter");
int layout = (Integer) pInfo.get("layout");
if (addFilter) {
if (//if this is a java method
isMethodOrFunction && (!isClojure)) {
if ((filter != null) && (displaystr.startsWith(filter.trim())))
completionResultSet.addItem(new ClojureCodeCompletionItem(displaystr, begLine, caretOffset, pInfo));
} else {
if (layout != backSlashAfterParen && layout != backSlashNoParen) {
if (isNamespaceOrPackage) {
if ((filter != null) && (displaystr.contains(origFilter.trim())))
completionResultSet.addItem(new ClojureCodeCompletionItem(displaystr, begLine, caretOffset, pInfo));
} else {
if ((filter != null) && (displaystr.contains(filter.trim())))
completionResultSet.addItem(new ClojureCodeCompletionItem(displaystr, begLine, caretOffset, pInfo));
}
} else {
if ((filter != null) && (displaystr.startsWith(filter.trim())))
completionResultSet.addItem(new ClojureCodeCompletionItem(displaystr, begLine, caretOffset, pInfo));
}
}
} else
completionResultSet.addItem(new ClojureCodeCompletionItem(displaystr, begLine, caretOffset, pInfo));
}
}
private int getLayout(String filter, boolean isDotPressed) {
try {
if (filter.startsWith("(")) {
filter = filter.substring(1);
if (backSlashPressed(filter)) {
if ((filter != null) && (filter.trim().length() > 0))
return backSlashAfterParen;
else
return -1;
} else {
if (isDotPressed && (filter != null) && (filter.trim().length() > 0) && Character.isUpperCase(filter.trim().charAt(0))) {
return UppercaseAfterParenWithDot;
} else {
if (isDotPressed && (filter != null) && (filter.trim().length() > 0) && (filter.trim().charAt(0) == '.')) {
//get all java methods available
return FirstDotAfterParen;
} else {
if (isDotPressed && (filter != null) && (filter.trim().length() > 0) && Character.isLowerCase(filter.trim().charAt((0))))
return LowercaseAfterParenWithDot;
else {
if ((filter != null) && (filter.trim().length() > 0) && Character.isUpperCase(filter.trim().charAt((0))))
return UppercaseAfterParen;
else
//lowercase
return LowercaseAfterParen;
}
}
}
}
} else //No Paren
{
if (backSlashPressed(filter)) {
if ((filter != null) && (filter.trim().length() > 0))
return backSlashNoParen;
else
return -1;
} else {
if (isDotPressed && (filter != null) && (filter.trim().length() > 0) && Character.isUpperCase(filter.trim().charAt(0))) {
return UppercaseNoParenWithDot;
} else {
if (isDotPressed && (filter != null) && (filter.trim().length() > 0) && (filter.trim().charAt(0) == '.')) {
return FirstDotNoParen;
} else {
if (isDotPressed && (filter != null) && (filter.trim().length() > 0) && Character.isLowerCase(filter.trim().charAt((0))))
return LowercaseNoParenWithDot;
else {
if ((filter != null) && (filter.trim().length() > 0) && Character.isUpperCase(filter.trim().charAt((0))))
return UppercaseNoParen;
else
//lowercase
return LowercaseNoParen;
}
}
}
}
}
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
}
return -1;
}
private Iterator processLayout(Hashtable processInfo) {
//private static final int LowercaseAfterParen = 0;
//private static final int UppercaseAfterParen = 1;
//private static final int LowercaseAfterParenWithDot = 2;
//private static final int UppercaseAfterParenWithDot = 3;
//private static final int LowercaseNoParen = 4;
//private static final int UppercaseNoParen = 5;
//private static final int LowercaseNoParenWithDot = 6;
//private static final int UppercaseNoParenWithDot = 7;
//private static final int FirstDotAfterParen = 8;
//private static final int FirstDotNoParen = 9;
int layout = (Integer) processInfo.get("layout");
String filter = (String) processInfo.get("filter");
String begFilter;
String origFilter = "";
int begLine = (Integer) processInfo.get("begLine");
int dotpos;
Iterator iter = null;
try {
filter = filter.trim();
switch(layout) {
case LowercaseAfterParen:
//remove the paranthesis
filter = filter.substring(1);
origFilter = filter;
addFilter = true;
iter = getResultsForScenario2(filter);
begLine = begLine + 1;
break;
case UppercaseAfterParen:
//remove the paranthesis
filter = filter.substring(1);
origFilter = filter;
addFilter = true;
iter = getResultsForScenario2(filter);
begLine = begLine + 1;
break;
case LowercaseAfterParenWithDot:
//remove the paranthesis
filter = filter.substring(1);
origFilter = filter;
dotpos = filter.lastIndexOf(".");
begFilter = filter.substring(0, dotpos);
addFilter = true;
//iter=getResultsForScenario1(getClsForFilter(begFilter),begFilter + "."); //check java classes
//check java classes
iter = getResultsForScenario1(getClsForFilter(begFilter), origFilter);
//iter=getAllClojureNamespaces1(origFilter);
filter = filter.substring(dotpos + 1);
//filter=origFilter;
begLine = begLine + 1;
break;
case UppercaseAfterParenWithDot:
//remove the paranthesis
filter = filter.substring(1);
origFilter = filter;
dotpos = filter.lastIndexOf(".");
begFilter = filter.substring(0, dotpos);
addFilter = true;
//iter=getResultsForScenario1(getClsForFilter(begFilter),begFilter + "."); //check java classes
//check java classes
iter = getResultsForScenario1(getClsForFilter(begFilter), origFilter);
filter = filter.substring(dotpos + 1);
//filter=origFilter;
begLine = begLine + 1;
break;
case backSlashAfterParen:
//remove the paranthesis
filter = filter.substring(1);
origFilter = filter;
dotpos = filter.lastIndexOf("/");
begFilter = filter.substring(0, dotpos);
addFilter = true;
iter = getResultsForScenario3(getClsForFilter(begFilter), begFilter);
filter = filter.substring(dotpos + 1);
begLine = begLine + 1;
break;
case FirstDotAfterParen:
//remove the paranthesis
filter = filter.substring(1);
origFilter = filter;
addFilter = true;
if (filter.equalsIgnoreCase("."))
filter = "";
else {
dotpos = filter.lastIndexOf(".");
filter = filter.substring(dotpos + 1);
}
iter = getResultsForScenario4();
begLine = begLine + 2;
break;
case UppercaseNoParen:
origFilter = filter;
addFilter = true;
iter = getResultsForScenario2(filter);
break;
case UppercaseNoParenWithDot:
origFilter = filter;
dotpos = filter.lastIndexOf(".");
begFilter = filter.substring(0, dotpos);
addFilter = true;
//iter=getResultsForScenario1(getClsForFilter(begFilter),begFilter + "."); //check java classes
//check java classes
iter = getResultsForScenario1(getClsForFilter(begFilter), origFilter);
filter = filter.substring(dotpos + 1);
//filter=origFilter;
break;
case FirstDotNoParen:
origFilter = filter;
addFilter = true;
if (filter.equalsIgnoreCase("."))
filter = "";
else {
dotpos = filter.lastIndexOf(".");
filter = filter.substring(dotpos + 1);
}
iter = getResultsForScenario4();
begLine = begLine + 1;
break;
case LowercaseNoParenWithDot:
origFilter = filter;
dotpos = filter.lastIndexOf(".");
begFilter = filter.substring(0, dotpos);
addFilter = true;
//iter=getResultsForScenario1(getClsForFilter(begFilter),begFilter + "."); //check java classes
//check java classes
iter = getResultsForScenario1(getClsForFilter(begFilter), origFilter);
filter = filter.substring(dotpos + 1);
//filter=origFilter;
break;
case LowercaseNoParen:
origFilter = filter;
addFilter = true;
iter = getResultsForScenario2(filter);
break;
case backSlashNoParen:
origFilter = filter;
dotpos = filter.lastIndexOf("/");
begFilter = filter.substring(0, dotpos);
addFilter = true;
iter = getResultsForScenario3(getClsForFilter(begFilter), begFilter);
filter = filter.substring(dotpos + 1);
break;
}
processInfo.put("layout", layout);
processInfo.put("filter", filter);
processInfo.put("begLine", begLine);
processInfo.put("isClojure", isClojure);
processInfo.put("origFilter", origFilter);
return iter;
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
}
return iter;
}
private Iterator getiterator() {
try {
return ((Iterable) getnamesfn.invoke(Symbol.create("clojure.core"))).iterator();
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
}
return null;
}
private Iterator getclojureiterator() {
try {
return ((Iterable) getclojurenamesfn.invoke(Symbol.create("clojure.core"))).iterator();
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
}
return null;
}
private Iterator getclojurefunctionsforns(String nspart) {
try {
java.lang.Object iter = (getclojurefunctionsfornsfn.invoke(nspart));
if (iter != null)
return ((Iterable) iter).iterator();
else
return null;
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getJavaMethods(String classname) {
try {
return ((Iterable) getjavamethodsfn.invoke(Class.forName(classname))).iterator();
} catch (Exception ex) {
//Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getStaticJavaMethods(String classname) {
try {
return ((Iterable) getstaticjavamethodsfn.invoke(Class.forName(classname))).iterator();
} catch (Exception ex) {
//Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getAllJavaMethods() {
try {
return ((Iterable) getalljavamethodsfn.invoke(Symbol.create("clojure.core"))).iterator();
} catch (Exception ex) {
//Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getAllJavaInstanceMethods(String classname) {
try {
return ((Iterable) getalljavainstancemethodsfn.invoke(Class.forName(classname))).iterator();
} catch (Exception ex) {
//Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getAllClojureNamespaces1(String filter) {
try {
return ((Iterable) getallclojurenamespaces1fn.invoke(1)).iterator();
} catch (Exception ex) {
//Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getResultsForScenario1(String classname, String filter) {
try {
gettingMethods = false;
if (ctype == CompletionProvider.COMPLETION_ALL_QUERY_TYPE) {
completionResultSet.setHasAdditionalItems(true);
getExtLibs = true;
} else {
completionResultSet.setHasAdditionalItems(false);
getExtLibs = false;
}
Project proj = ReplTopComponent.GetProjectFromDocument(document);
if (!getExtLibs) {
proj = null;
CurrentList = Scenario1List;
} else
CurrentList = Scenario1ListExtLib;
int listSize = CurrentList.size();
if (classname == null) {
if (listSize > 0)
return CurrentList.iterator();
else
return ((Iterable) getresultsforscenario1fn.invoke(proj, jTextComponent, null, filter)).iterator();
} else {
gettingMethods = true;
return ((Iterable) getresultsforscenario1fn.invoke(proj, jTextComponent, Class.forName(classname), filter)).iterator();
}
} catch (Exception ex) {
//Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getResultsForScenario2(String filter) {
try {
gettingMethods = false;
if (ctype == CompletionProvider.COMPLETION_ALL_QUERY_TYPE) {
completionResultSet.setHasAdditionalItems(true);
getExtLibs = true;
} else {
completionResultSet.setHasAdditionalItems(false);
getExtLibs = false;
}
Project proj = ReplTopComponent.GetProjectFromDocument(document);
if (!getExtLibs) {
proj = null;
CurrentList = Scenario2List;
} else
CurrentList = Scenario2ListExtLib;
int listSize = CurrentList.size();
if (listSize > 0)
return CurrentList.iterator();
else
return ((Iterable) getresultsforscenario2fn.invoke(proj, jTextComponent, Symbol.create("clojure.core"), filter)).iterator();
} catch (Exception ex) {
//Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getResultsForScenario3(String classname, String filter) {
try {
gettingMethods = false;
CurrentList = Scenario3List;
if (classname == null) {
gettingMethods = true;
return ((Iterable) getresultsforscenario3fn.invoke(null, filter)).iterator();
} else {
gettingMethods = true;
return ((Iterable) getresultsforscenario3fn.invoke(Class.forName(classname), filter)).iterator();
}
} catch (Exception ex) {
//Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getResultsForScenario4() {
try {
gettingMethods = false;
if (ctype == CompletionProvider.COMPLETION_ALL_QUERY_TYPE) {
completionResultSet.setHasAdditionalItems(true);
getExtLibs = true;
} else {
completionResultSet.setHasAdditionalItems(false);
getExtLibs = false;
}
Project proj = ReplTopComponent.GetProjectFromDocument(document);
if (!getExtLibs) {
proj = null;
CurrentList = Scenario4List;
} else
CurrentList = Scenario4List;
int listSize = CurrentList.size();
if (listSize > 0)
return CurrentList.iterator();
else
return ((Iterable) getresultsforscenario4fn.invoke(proj)).iterator();
} catch (Exception ex) {
//Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getAllJavaClasses() {
try {
return ((Iterable) getalljavaclassesfn.invoke(jTextComponent)).iterator();
} catch (Exception ex) {
//Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getAllJavaClasses(String filter) {
try {
return ((Iterable) getalljavaclassesbyfilterfn.invoke(jTextComponent, filter)).iterator();
} catch (Exception ex) {
//Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getAllClojureNamespaces(String filter) {
try {
return ((Iterable) getallclojurenamespacesfn.invoke(jTextComponent, filter)).iterator();
} catch (Exception ex) {
//Exceptions.printStackTrace(ex);
return null;
}
}
private Iterator getFullJavaClasses() {
try {
return ((Iterable) getfulljavaclassesfn.invoke(Symbol.create("clojure.core"))).iterator();
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
}
return null;
}
private Iterator getEnclosingFormMap(JTextComponent jTextComponent) {
try {
return ((Iterable) selectcurrentformfn.invoke(jTextComponent)).iterator();
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
}
return null;
}
private String getClsForFilter(String filterstr) {
Iterator iter;
iter = getAllJavaClasses();
if (iter != null) {
while (iter.hasNext()) {
final String entry = (String) iter.next();
if ((entry.endsWith("." + filterstr)) || (entry.equals(filterstr)))
return entry;
}
return null;
} else
return null;
}
private boolean containsFilter(Iterator iter, String filter) {
try {
if (iter != null) {
while (iter.hasNext()) {
final String entry = (String) iter.next();
if ((filter != null) && (entry.startsWith(filter)))
return true;
}
}
return false;
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
return false;
}
}
}
Operation oper = new Operation();
bDoc.render(oper);
}
}, jTextComponent);
}
use of javax.swing.text.JTextComponent in project intellij-community by JetBrains.
the class SetBackgroundImageDialog method setupComponents.
private void setupComponents() {
myAdjusting = true;
myPreviewPanel.setLayout(new CardLayout());
myPreviewPanel.add(myEditorPreview.getPanel(), "editor");
myPreviewPanel.add(myIdePreview, "ide");
((CardLayout) myPreviewPanel.getLayout()).show(myPreviewPanel, "editor");
myPathField.getComboBox().setEditable(true);
FileChooserDescriptor descriptor = new FileChooserDescriptor(true, false, false, false, true, false).withFileFilter(file -> ImageFileTypeManager.getInstance().isImage(file));
myPathField.addBrowseFolderListener(null, null, null, descriptor, TextComponentAccessor.STRING_COMBOBOX_WHOLE_TEXT);
JTextComponent textComponent = getComboEditor();
textComponent.getDocument().addDocumentListener(new DocumentAdapter() {
@Override
protected void textChanged(DocumentEvent e) {
if (myAdjusting)
return;
imagePathChanged();
}
});
for (Enumeration<AbstractButton> e = getTargetRbGroup().getElements(); e.hasMoreElements(); ) {
AbstractButton button = e.nextElement();
button.setActionCommand(button.getText());
button.addItemListener(this::targetChanged);
}
for (Enumeration<AbstractButton> e = getFillRbGroup().getElements(); e.hasMoreElements(); ) {
AbstractButton button = e.nextElement();
button.setActionCommand(button.getText());
button.addItemListener(this::fillOrPlaceChanged);
}
for (Enumeration<AbstractButton> e = getPlaceRbGroup().getElements(); e.hasMoreElements(); ) {
AbstractButton button = e.nextElement();
button.setActionCommand(button.getText());
button.addItemListener(this::fillOrPlaceChanged);
}
ChangeListener opacitySync = new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
if (myAdjusting)
return;
myAdjusting = true;
boolean b = e.getSource() == myOpacitySpinner;
if (b) {
int value = (Integer) myOpacitySpinner.getValue();
myOpacitySpinner.setValue(Math.min(Math.max(0, value), 100));
myOpacitySlider.setValue(value);
} else {
myOpacitySpinner.setValue(myOpacitySlider.getValue());
}
myAdjusting = false;
opacityChanged();
}
};
myOpacitySpinner.addChangeListener(opacitySync);
myOpacitySlider.addChangeListener(opacitySync);
myOpacitySlider.setValue(15);
myOpacitySpinner.setValue(15);
myScaleRb.setSelected(true);
myCenterRb.setSelected(true);
myEditorRb.setSelected(true);
boolean perProject = !Comparing.equal(getBackgroundSpec(myProject, getSystemProp(true)), getBackgroundSpec(null, getSystemProp(true)));
myThisProjectOnlyCb.setSelected(perProject);
myAdjusting = false;
}
use of javax.swing.text.JTextComponent in project jmeter by apache.
the class ComboStringEditor method startEditing.
private void startEditing() {
JTextComponent textField = (JTextComponent) combo.getEditor().getEditorComponent();
combo.setEditable(true);
textField.requestFocusInWindow();
String text = translate(initialEditValue);
if (text == null) {
// will revert to last valid value if invalid
text = "";
}
combo.setSelectedItem(text);
int i = text.indexOf("${}");
if (i != -1) {
textField.setCaretPosition(i + 2);
} else {
textField.selectAll();
}
}
use of javax.swing.text.JTextComponent in project jmeter by apache.
the class NumberFieldErrorListener method focusLost.
@Override
public void focusLost(FocusEvent e) {
Component source = (Component) e.getSource();
String text = "";
if (source instanceof JTextComponent) {
text = ((JTextComponent) source).getText();
} else if (source instanceof TextComponent) {
text = ((TextComponent) source).getText();
}
try {
Integer.parseInt(text);
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(source, //$NON-NLS-1$
JMeterUtils.getResString("you_must_enter_a_valid_number"), //$NON-NLS-1$
JMeterUtils.getResString("invalid_data"), JOptionPane.WARNING_MESSAGE);
FocusRequester.requestFocus(source);
}
}
Aggregations