Java Examples for javax.swing.text.DocumentFilter
The following java examples will help you to understand the usage of javax.swing.text.DocumentFilter. These source code samples are taken from different open source projects.
Example 1
Project: open-traffic-simulation-master File: InputFilterUtility.java View source code |
@Override
public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
try {
if (string.equals(".") && !fb.getDocument().getText(0, fb.getDocument().getLength()).contains(".")) {
super.insertString(fb, offset, string, attr);
return;
}
Double.parseDouble(string);
super.insertString(fb, offset, string, attr);
} catch (Exception e) {
Toolkit.getDefaultToolkit().beep();
}
}
Example 2
Project: UFOSGE-master File: NumericFormattedTextField.java View source code |
public void remove(DocumentFilter.FilterBypass fb, int offs, int length) throws BadLocationException {
// System.out.println("[NumericFormattedDocumentFilter] remove()");
String docText = fb.getDocument().getText(0, fb.getDocument().getLength());
String newStr = docText.substring(0, offs) + docText.substring(offs + length);
if (newStr.length() == 0) {
// System.out.println(" : calling replace() instead.");
fb.replace(0, docText.length(), "0", null);
if (docText.length() == 0) {
Toolkit.getDefaultToolkit().beep();
Util.displayTooltip(field);
}
return;
}
long numericValue;
if (!field.hasFocus()) {
try {
numericValue = ((Number) field.getFormatter().stringToValue(field.getText())).longValue();
fb.remove(offs, length);
return;
} catch (ParseException e) {
Toolkit.getDefaultToolkit().beep();
Util.displayTooltip(field);
return;
}
}
try {
numericValue = Long.parseLong(newStr);
if (numericValue >= minValue && numericValue <= maxValue) {
value = numericValue;
fb.remove(offs, length);
} else {
Toolkit.getDefaultToolkit().beep();
Util.displayTooltip(field);
}
} catch (NumberFormatException e) {
Toolkit.getDefaultToolkit().beep();
Util.displayTooltip(field);
}
}
Example 3
Project: many-ql-master File: NumberBox.java View source code |
private PlainDocument getPlainDocument() {
PlainDocument plainDocument = new PlainDocument();
plainDocument.setDocumentFilter(new DocumentFilter() {
@Override
public void insertString(FilterBypass fb, int off, String str, AttributeSet attr) throws BadLocationException {
// remove non-digits
fb.insertString(off, str.replaceAll("\\D++", ""), attr);
}
@Override
public void replace(FilterBypass fb, int off, int len, String str, AttributeSet attr) throws BadLocationException {
// remove non-digits
fb.replace(off, len, str.replaceAll("\\D++", ""), attr);
}
});
return plainDocument;
}
Example 4
Project: fa15-ceg3120-master File: NewContractorPane.java View source code |
@Override
public void focusLost(FocusEvent ev) {
// Verify email upon focusLostEvent
String name = field.getName();
AbstractDocument doc = (AbstractDocument) field.getDocument();
DocumentFilter filt = doc.getDocumentFilter();
if (name != null && field.getName().equals("email")) {
if (filt instanceof DocumentEmailFilter) {
try {
((DocumentEmailFilter) filt).setToFilter(true);
String contents = doc.getText(0, doc.getLength());
doc.remove(0, doc.getLength());
doc.insertString(0, contents, null);
((DocumentEmailFilter) filt).setToFilter(false);
} catch (BadLocationException e) {
e.printStackTrace();
}
}
}
}
Example 5
Project: jtheque-core-master File: ConstraintManager.java View source code |
/**
* Configure a JTextField with the constraint.
*
* @param field The field to configure.
* @param fieldName The name of the field.
*/
public static void configure(JTextField field, String fieldName) {
if (CONSTRAINTS.containsKey(fieldName) && CONSTRAINTS.get(fieldName).isLengthControlled()) {
DocumentFilter filter = new DocumentLengthFilterAvert(CONSTRAINTS.get(fieldName).getMaxLength(), field);
Document document = field.getDocument();
((AbstractDocument) document).setDocumentFilter(filter);
}
}
Example 6
Project: gluu-opendj-master File: TimeDocumentFilter.java View source code |
/**
* {@inheritDoc}
*/
public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException {
String text = fb.getDocument().getText(offset, length);
int index = text.indexOf(":");
if (index == -1) {
fb.remove(offset, length);
} else {
// index value is relative to offset
if (index > 0) {
fb.remove(offset, index);
}
if (index < length - 1) {
fb.remove(offset + index + 1, length - index - 1);
}
}
updateCaretPosition(fb);
}
Example 7
Project: OpenDJ-master File: TimeDocumentFilter.java View source code |
/** {@inheritDoc} */
public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException {
String text = fb.getDocument().getText(offset, length);
int index = text.indexOf(":");
if (index == -1) {
fb.remove(offset, length);
} else {
// index value is relative to offset
if (index > 0) {
fb.remove(offset, index);
}
if (index < length - 1) {
fb.remove(offset + index + 1, length - index - 1);
}
}
updateCaretPosition(fb);
}
Example 8
Project: JamVM-PH-master File: AbstractDocument.java View source code |
/** * Replaces a piece of content in this <code>Document</code> with * another piece of content. * * <p>If a {@link DocumentFilter} is installed in this document, the * corresponding method of the filter object is called.</p> * * <p>The method has no effect if <code>length</code> is zero (and * only zero) and, at the same time, <code>text</code> is * <code>null</code> or has zero length.</p> * * @param offset the start offset of the fragment to be removed * @param length the length of the fragment to be removed * @param text the text to replace the content with * @param attributes the text attributes to assign to the new content * * @throws BadLocationException if <code>offset</code> or * <code>offset + length</code> or invalid locations within this * document * * @since 1.4 */ public void replace(int offset, int length, String text, AttributeSet attributes) throws BadLocationException { // Bail out if we have a bogus replacement (Behavior observed in RI). if (length == 0 && (text == null || text.length() == 0)) return; writeLock(); try { if (documentFilter == null) { // It is important to call the methods which again do the checks // of the arguments and the DocumentFilter because subclasses may // have overridden these methods and provide crucial behavior // which would be skipped if we call the non-checking variants. // An example for this is PlainDocument where insertString can // provide a filtering of newlines. remove(offset, length); insertString(offset, text, attributes); } else documentFilter.replace(getBypass(), offset, length, text, attributes); } finally { writeUnlock(); } }
Example 9
Project: CodenameOne-master File: BorderEditor.java View source code |
public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
if (fb.getDocument().getLength() + string.length() > 6) {
return;
}
for (int iter = 0; iter < string.length(); iter++) {
char c = string.charAt(iter);
if (!(Character.isDigit(c) || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f'))) {
return;
}
}
fb.insertString(offset, string, attr);
updateBorder(false);
}
Example 10
Project: lwuit-master File: BorderEditor.java View source code |
public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
if (fb.getDocument().getLength() + string.length() > 6) {
return;
}
for (int iter = 0; iter < string.length(); iter++) {
char c = string.charAt(iter);
if (!(Character.isDigit(c) || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f'))) {
return;
}
}
fb.insertString(offset, string, attr);
updateBorder(false);
}
Example 11
Project: voxels-master File: NumberBox.java View source code |
@Override
public void insertString(DocumentFilter.FilterBypass fb, int offset, String text, AttributeSet attr) throws BadLocationException {
StringBuilder sb = new StringBuilder();
sb.append(fb.getDocument().getText(0, fb.getDocument().getLength()));
sb.insert(offset, text);
if (invalidContent(sb.toString()))
return;
fb.insertString(offset, text, attr);
currentString = sb.toString();
notifyListeners();
}
Example 12
Project: nbruby-master File: PluginProgressPanel.java View source code |
private void attach(JTextComponent textComponent) {
this.textComponent = textComponent;
textComponent.addKeyListener(this);
textComponent.getDocument().addDocumentListener(this);
if (textComponent.getDocument() instanceof AbstractDocument) {
((AbstractDocument) textComponent.getDocument()).setDocumentFilter(new DocumentFilter() {
@Override
public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
if (offset >= startOffset) {
super.insertString(fb, offset, string, attr);
}
}
@Override
public void remove(FilterBypass fb, int offset, int length) throws BadLocationException {
if (offset >= startOffset) {
super.remove(fb, offset, length);
}
}
@Override
public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {
if (offset >= startOffset) {
super.replace(fb, offset, length, text, attrs);
}
}
});
}
}
Example 13
Project: bither-desktop-java-master File: Numbers.java View source code |
/** * @param decimalFormat The decimal format appropriate for this locale * @return A number formatter that is locale-aware and configured for doubles */ private static NumberFormatter newNumberFormatter(final DecimalFormat decimalFormat, final int maxEditLength) { // Create the number formatter with local-sensitive adjustments NumberFormatter displayFormatter = new NumberFormatter(decimalFormat) { // The max input length for the given symbol DocumentFilter documentFilter = new DocumentMaxLengthFilter(maxEditLength); @Override public Object stringToValue(String text) throws ParseException { // RU locale (and others) requires a non-breaking space for a grouping separator text = text.replace(' ', ' '); return super.stringToValue(text); } @Override protected DocumentFilter getDocumentFilter() { return documentFilter; } }; // Use a BigDecimal for widest value handling displayFormatter.setValueClass(BigDecimal.class); return displayFormatter; }
Example 14
Project: classpath-doctor-master File: ClassPathPanel.java View source code |
private JTextArea buildTextComponent() {
JTextArea result = new JTextArea();
PlainDocument doc = new PlainDocument();
doc.setDocumentFilter(new DocumentFilter() {
@Override
public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
if ("\n".equals(string)) {
// don't insert any new lines
return;
}
super.insertString(fb, offset, string, attr);
}
@Override
public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {
if (length > 0) {
fb.remove(offset, length);
}
insertString(fb, offset, text, null);
}
});
result.setDocument(doc);
result.setWrapStyleWord(true);
result.setLineWrap(true);
return result;
}
Example 15
Project: multibit-hd-master File: Numbers.java View source code |
/** * @param decimalFormat The decimal format appropriate for this locale * * @return A number formatter that is locale-aware and configured for doubles */ private static NumberFormatter newNumberFormatter(final DecimalFormat decimalFormat, final int maxEditLength) { // Create the number formatter with local-sensitive adjustments NumberFormatter displayFormatter = new NumberFormatter(decimalFormat) { // The max input length for the given symbol DocumentFilter documentFilter = new DocumentMaxLengthFilter(maxEditLength); @Override public Object stringToValue(String text) throws ParseException { // RU locale (and others) requires a non-breaking space for a grouping separator text = text.replace(' ', ' '); return super.stringToValue(text); } @Override protected DocumentFilter getDocumentFilter() { return documentFilter; } }; // Use a BigDecimal for widest value handling displayFormatter.setValueClass(BigDecimal.class); return displayFormatter; }
Example 16
Project: ProjectLibre-master File: FixedSizeFilter.java View source code |
// This method is called when characters in the document are replace with other characters
public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String str, AttributeSet attrs) throws BadLocationException {
int newLength = fb.getDocument().getLength() - length + (str == null ? 0 : str.length());
int overflow = newLength - maxSize;
if (overflow > 0) {
str = str.substring(0, str.length() - overflow);
newLength = fb.getDocument().getLength() - length + (str == null ? 0 : str.length());
}
if (newLength <= maxSize) {
fb.replace(offset, length, str, attrs);
} else {
throw new BadLocationException("New characters exceeds max size of document", offset);
}
}
Example 17
Project: vhdllab-master File: TextEditor.java View source code |
@Override
protected JComponent doInitWithoutData() {
textPane = new CustomJTextPane(this);
wrapInScrollPane = false;
JScrollPane jsp = new JScrollPane(textPane);
LineNumbers.createInstance(textPane, jsp, 30);
Document document = textPane.getDocument();
if (document instanceof AbstractDocument) {
((AbstractDocument) document).setDocumentFilter(new DocumentFilter() {
@Override
public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {
if (text != null && (text.length() - length) > 10 && !text.equals(CustomJTextPane.getClipboardText()) && !textIsBlank(text)) {
informPastingIsDisabled();
} else {
super.replace(fb, offset, length, text, attrs);
}
}
private boolean textIsBlank(String text) {
if (text == null)
return true;
for (char c : text.toCharArray()) {
switch(c) {
case ' ':
break;
case '\t':
break;
case '\r':
break;
case '\n':
break;
default:
return false;
}
}
return true;
}
private void informPastingIsDisabled() {
JFrame frame = Application.instance().getActiveWindow().getControl();
JOptionPane.showMessageDialog(frame, "Pasting text from outside of vhdllab is disabled!", "Paste text", JOptionPane.INFORMATION_MESSAGE);
}
});
}
textPane.addCaretListener(this);
return jsp;
}
Example 18
Project: discobot-master File: StructuredSyntaxDocumentFilter.java View source code |
/**
* Remove a string from the document, and then parse it if the parser has been
* set.
*
* @param fb
* @param offset
* @param length
* @throws BadLocationException
*/
public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException {
// does not get done properly, so first replace and remove after parsing
if (offset == 0 && length != fb.getDocument().getLength()) {
fb.replace(0, length, "\n", lexer.defaultStyle);
// start on either side of the removed text
parseDocument(offset, 2);
fb.remove(offset, 1);
} else {
fb.remove(offset, length);
// start on either side of the removed text
if (offset + 1 < fb.getDocument().getLength()) {
parseDocument(offset, 1);
} else if (offset - 1 > 0) {
parseDocument(offset - 1, 1);
} else {
// empty text
mlTextRunSet.clear();
}
}
}
Example 19
Project: groovy-core-master File: StructuredSyntaxDocumentFilter.java View source code |
/**
* Remove a string from the document, and then parse it if the parser has been
* set.
*
* @param fb
* @param offset
* @param length
* @throws BadLocationException
*/
public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException {
// does not get done properly, so first replace and remove after parsing
if (offset == 0 && length != fb.getDocument().getLength()) {
fb.replace(0, length, "\n", lexer.defaultStyle);
// start on either side of the removed text
parseDocument(offset, 2);
fb.remove(offset, 1);
} else {
fb.remove(offset, length);
// start on either side of the removed text
if (offset + 1 < fb.getDocument().getLength()) {
parseDocument(offset, 1);
} else if (offset - 1 > 0) {
parseDocument(offset - 1, 1);
} else {
// empty text
mlTextRunSet.clear();
}
}
}
Example 20
Project: groovy-master File: StructuredSyntaxDocumentFilter.java View source code |
/**
* Remove a string from the document, and then parse it if the parser has been
* set.
*
* @param fb
* @param offset
* @param length
* @throws BadLocationException
*/
public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException {
// does not get done properly, so first replace and remove after parsing
if (offset == 0 && length != fb.getDocument().getLength()) {
fb.replace(0, length, "\n", lexer.defaultStyle);
// start on either side of the removed text
parseDocument(offset, 2);
fb.remove(offset, 1);
} else {
fb.remove(offset, length);
// start on either side of the removed text
if (offset + 1 < fb.getDocument().getLength()) {
parseDocument(offset, 1);
} else if (offset - 1 > 0) {
parseDocument(offset - 1, 1);
} else {
// empty text
mlTextRunSet.clear();
}
}
}
Example 21
Project: vassal-master File: ServerConfigurer.java View source code |
public Component getControls() {
if (controls == null) {
controls = new JPanel(new MigLayout());
header = new JLabel(DISCONNECTED);
//$NON-NLS-1$
controls.add(header, "wrap");
ButtonGroup group = new ButtonGroup();
jabberButton = new JRadioButton(JABBER_BUTTON);
jabberButton.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
noUpdate = true;
setValue(buildJabberProperties());
noUpdate = false;
}
jabberHostPrompt.setEnabled(jabberButton.isSelected());
jabberHost.setEnabled(jabberButton.isSelected() && jabberHostPrompt.isSelected());
jabberAccountName.setEnabled(jabberButton.isSelected());
jabberPassword.setEnabled(jabberButton.isSelected());
jabberAccountPrompt.setEnabled(jabberButton.isSelected());
jabberPasswordPrompt.setEnabled(jabberButton.isSelected());
}
});
//$NON-NLS-1$
jabberAccountPrompt = new JLabel(Resources.getString("Server.account_name"));
jabberAccountPrompt.setEnabled(false);
jabberAccountName = new JTextField();
jabberAccountName.setEnabled(false);
//$NON-NLS-1$
jabberPasswordPrompt = new JLabel(Resources.getString("Server.password"));
jabberPasswordPrompt.setEnabled(false);
jabberPassword = new JPasswordField();
jabberPassword.setEnabled(false);
//$NON-NLS-1$
jabberHostPrompt = new JCheckBox(Resources.getString("Server.host"));
jabberHostPrompt.setEnabled(false);
jabberHost = new JTextField(18);
jabberHost.setEnabled(false);
jabberHostPrompt.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
jabberHost.setEnabled(jabberHostPrompt.isSelected() && jabberButton.isSelected());
docListener.changedUpdate(null);
}
});
//$NON-NLS-1$
jabberHost.setText(JabberClientFactory.DEFAULT_JABBER_HOST + ":" + JabberClientFactory.DEFAULT_JABBER_PORT);
docListener = new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
updateValue();
}
private void updateValue() {
noUpdate = true;
setValue(buildJabberProperties());
noUpdate = false;
}
public void insertUpdate(DocumentEvent e) {
updateValue();
}
public void removeUpdate(DocumentEvent e) {
updateValue();
}
};
((AbstractDocument) jabberAccountName.getDocument()).setDocumentFilter(new DocumentFilter() {
@Override
public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {
if (text != null) {
super.replace(fb, offset, length, StringUtils.escapeNode(text).toLowerCase(), attrs);
}
}
@Override
public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
if (string != null) {
super.insertString(fb, offset, StringUtils.escapeNode(string).toLowerCase(), attr);
}
}
});
jabberHost.getDocument().addDocumentListener(docListener);
jabberAccountName.getDocument().addDocumentListener(docListener);
jabberPassword.getDocument().addDocumentListener(docListener);
// Disable Jabber server until next release
if ("true".equals(System.getProperty("enableJabber"))) {
//$NON-NLS-1$ //$NON-NLS-2$
group.add(jabberButton);
//$NON-NLS-1$
controls.add(jabberButton, "wrap");
//$NON-NLS-1$
controls.add(jabberAccountPrompt, "gap 40");
//$NON-NLS-1$
controls.add(jabberAccountName, "wrap, growx");
//$NON-NLS-1$
controls.add(jabberPasswordPrompt, "gap 40");
//$NON-NLS-1$
controls.add(jabberPassword, "wrap, growx");
//$NON-NLS-1$
controls.add(jabberHostPrompt, "gap 40");
//$NON-NLS-1$
controls.add(jabberHost, "wrap, growx");
}
p2pButton = new JRadioButton(P2P_BUTTON);
p2pButton.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
noUpdate = true;
setValue(buildPeerProperties());
noUpdate = false;
}
}
});
group.add(p2pButton);
//$NON-NLS-1$
controls.add(p2pButton, "wrap");
legacyButton = new JRadioButton(LEGACY_BUTTON);
legacyButton.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
noUpdate = true;
setValue(buildLegacyProperties());
noUpdate = false;
}
}
});
controls.add(legacyButton);
group.add(legacyButton);
}
return controls;
}
Example 22
Project: LauncherV3-master File: ModpackSelector.java View source code |
private void initComponents() { setLayout(new BorderLayout()); setBackground(LauncherFrame.COLOR_SELECTOR_BACK); setMaximumSize(new Dimension(287, getMaximumSize().height)); JPanel header = new JPanel(); header.setLayout(new GridBagLayout()); header.setBorder(BorderFactory.createEmptyBorder(4, 8, 4, 4)); header.setBackground(LauncherFrame.COLOR_SELECTOR_OPTION); add(header, BorderLayout.PAGE_START); filterContents = new WatermarkTextField(resources.getString("launcher.packselector.filter.hotfix"), LauncherFrame.COLOR_BLUE_DARKER); filterContents.setFont(resources.getFont(ResourceLoader.FONT_OPENSANS, 14)); filterContents.setBorder(new RoundBorder(LauncherFrame.COLOR_BUTTON_BLUE, 1, 8)); filterContents.setForeground(LauncherFrame.COLOR_BLUE); filterContents.setBackground(LauncherFrame.COLOR_FORMELEMENT_INTERNAL); filterContents.setSelectedTextColor(Color.black); filterContents.setSelectionColor(LauncherFrame.COLOR_BUTTON_BLUE); filterContents.setCaretColor(LauncherFrame.COLOR_BUTTON_BLUE); filterContents.setColumns(20); ((AbstractDocument) filterContents.getDocument()).setDocumentFilter(new DocumentFilter() { @Override public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException { if (fb.getDocument().getLength() + string.length() <= MAX_SEARCH_STRING) { fb.insertString(offset, string, attr); } } @Override public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException { fb.remove(offset, length); } @Override public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException { int finalTextLength = (fb.getDocument().getLength() - length) + text.length(); if (finalTextLength > MAX_SEARCH_STRING) text = text.substring(0, text.length() - (finalTextLength - MAX_SEARCH_STRING)); fb.replace(offset, length, text, attrs); } }); filterContents.getDocument().addDocumentListener(new DocumentListener() { @Override public void insertUpdate(DocumentEvent e) { detectFilterChanges(); } @Override public void removeUpdate(DocumentEvent e) { detectFilterChanges(); } @Override public void changedUpdate(DocumentEvent e) { detectFilterChanges(); } }); header.add(filterContents, new GridBagConstraints(1, 0, 1, 1, 1, 0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(3, 0, 3, 0), 0, 12)); widgetList = new JPanel(); widgetList.setOpaque(false); widgetList.setLayout(new GridBagLayout()); scrollPane = new JScrollPane(widgetList, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.setOpaque(false); scrollPane.setBorder(BorderFactory.createEmptyBorder()); scrollPane.getViewport().setOpaque(false); scrollPane.getVerticalScrollBar().setUI(new SimpleScrollbarUI(LauncherFrame.COLOR_SCROLL_TRACK, LauncherFrame.COLOR_SCROLL_THUMB)); scrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(10, 10)); scrollPane.getVerticalScrollBar().setUnitIncrement(12); add(scrollPane, BorderLayout.CENTER); widgetList.add(Box.createHorizontalStrut(294), new GridBagConstraints(0, 0, 1, 1, 1, 0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); widgetList.add(Box.createGlue(), new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); }
Example 23
Project: mct-master File: PlotBehaviorPanel.java View source code |
@SuppressWarnings("serial") private JTextField createPaddingTextField(AxisType axisType, AxisBounds bound) { final JFormattedTextField tField = new JFormattedTextField(new InternationalFormatter(NumberFormat.getIntegerInstance()) { protected DocumentFilter getDocumentFilter() { return filter; } private DocumentFilter filter = new PaddingFilter(); }); tField.setColumns(PADDING_COLUMNS); tField.setHorizontalAlignment(JTextField.RIGHT); if (bound.equals(AxisBounds.MIN)) { tField.setText(axisType.getMinimumDefaultPaddingAsText()); } else { tField.setText(axisType.getMaximumDefaultPaddingAsText()); } tField.addAncestorListener(new AncestorListener() { @Override public void ancestorAdded(AncestorEvent event) { tField.selectAll(); tField.removeAncestorListener(this); } @Override public void ancestorMoved(AncestorEvent event) { } @Override public void ancestorRemoved(AncestorEvent event) { } }); return tField; }
Example 24
Project: jSite-master File: ProjectPage.java View source code |
/**
* Creates the information panel.
*
* @return The information panel
*/
private JComponent createInformationPanel() {
JPanel informationPanel = new JPanel(new BorderLayout(12, 12));
JPanel informationTable = new JPanel(new GridBagLayout());
JPanel functionButtons = new JPanel(new FlowLayout(FlowLayout.LEADING, 12, 12));
functionButtons.setBorder(new EmptyBorder(-12, -12, -12, -12));
functionButtons.add(new JButton(projectAddAction));
functionButtons.add(new JButton(projectDeleteAction));
functionButtons.add(new JButton(projectCloneAction));
functionButtons.add(new JButton(projectManageKeysAction));
informationPanel.add(functionButtons, BorderLayout.PAGE_START);
informationPanel.add(informationTable, BorderLayout.CENTER);
final JLabel projectInformationLabel = new JLabel("<html><b>" + I18n.getMessage("jsite.project.project.information") + "</b></html>");
informationTable.add(projectInformationLabel, new GridBagConstraints(0, 0, 3, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
projectNameTextField = new JTextField();
projectNameTextField.getDocument().putProperty("name", "project.name");
projectNameTextField.getDocument().addDocumentListener(this);
projectNameTextField.setEnabled(false);
final TLabel projectNameLabel = new TLabel(I18n.getMessage("jsite.project.project.name") + ":", KeyEvent.VK_N, projectNameTextField);
informationTable.add(projectNameLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(6, 18, 0, 0), 0, 0));
informationTable.add(projectNameTextField, new GridBagConstraints(1, 1, 2, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 0, 0), 0, 0));
projectDescriptionTextField = new JTextField();
projectDescriptionTextField.getDocument().putProperty("name", "project.description");
projectDescriptionTextField.getDocument().addDocumentListener(this);
projectDescriptionTextField.setEnabled(false);
final TLabel projectDescriptionLabel = new TLabel(I18n.getMessage("jsite.project.project.description") + ":", KeyEvent.VK_D, projectDescriptionTextField);
informationTable.add(projectDescriptionLabel, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(6, 18, 0, 0), 0, 0));
informationTable.add(projectDescriptionTextField, new GridBagConstraints(1, 2, 2, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 0, 0), 0, 0));
projectLocalPathTextField = new JTextField();
projectLocalPathTextField.getDocument().putProperty("name", "project.localpath");
projectLocalPathTextField.getDocument().addDocumentListener(this);
projectLocalPathTextField.setEnabled(false);
final TLabel projectLocalPathLabel = new TLabel(I18n.getMessage("jsite.project.project.local-path") + ":", KeyEvent.VK_L, projectLocalPathTextField);
informationTable.add(projectLocalPathLabel, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(6, 18, 0, 0), 0, 0));
informationTable.add(projectLocalPathTextField, new GridBagConstraints(1, 3, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 0, 0), 0, 0));
informationTable.add(new JButton(projectLocalPathBrowseAction), new GridBagConstraints(2, 3, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 0, 0), 0, 0));
final JLabel projectAddressLabel = new JLabel("<html><b>" + I18n.getMessage("jsite.project.project.address") + "</b></html>");
informationTable.add(projectAddressLabel, new GridBagConstraints(0, 4, 3, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(12, 0, 0, 0), 0, 0));
projectPathTextField = new JTextField();
projectPathTextField.getDocument().putProperty("name", "project.path");
projectPathTextField.getDocument().addDocumentListener(this);
((AbstractDocument) projectPathTextField.getDocument()).setDocumentFilter(new DocumentFilter() {
/**
* {@inheritDoc}
*/
@Override
@SuppressWarnings("synthetic-access")
public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
super.insertString(fb, offset, string.replaceAll("/", ""), attr);
updateCompleteURI();
}
/**
* {@inheritDoc}
*/
@Override
@SuppressWarnings("synthetic-access")
public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {
super.replace(fb, offset, length, text.replaceAll("/", ""), attrs);
updateCompleteURI();
}
/**
* {@inheritDoc}
*/
@Override
@SuppressWarnings("synthetic-access")
public void remove(FilterBypass fb, int offset, int length) throws BadLocationException {
super.remove(fb, offset, length);
updateCompleteURI();
}
});
projectPathTextField.setEnabled(false);
final TLabel projectPathLabel = new TLabel(I18n.getMessage("jsite.project.project.path") + ":", KeyEvent.VK_P, projectPathTextField);
informationTable.add(projectPathLabel, new GridBagConstraints(0, 5, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(6, 18, 0, 0), 0, 0));
informationTable.add(projectPathTextField, new GridBagConstraints(1, 5, 2, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 0, 0), 0, 0));
projectCompleteUriTextField = new JTextField();
projectCompleteUriTextField.setEditable(false);
final TLabel projectUriLabel = new TLabel(I18n.getMessage("jsite.project.project.uri") + ":", KeyEvent.VK_U, projectCompleteUriTextField);
informationTable.add(projectUriLabel, new GridBagConstraints(0, 6, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(6, 18, 0, 0), 0, 0));
informationTable.add(projectCompleteUriTextField, new GridBagConstraints(1, 6, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 0, 0), 0, 0));
informationTable.add(new JButton(projectCopyURIAction), new GridBagConstraints(2, 6, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 0, 0), 0, 0));
I18nContainer.getInstance().registerRunnable(new Runnable() {
@Override
public void run() {
projectInformationLabel.setText("<html><b>" + I18n.getMessage("jsite.project.project.information") + "</b></html>");
projectNameLabel.setText(I18n.getMessage("jsite.project.project.name") + ":");
projectDescriptionLabel.setText(I18n.getMessage("jsite.project.project.description") + ":");
projectLocalPathLabel.setText(I18n.getMessage("jsite.project.project.local-path") + ":");
projectAddressLabel.setText("<html><b>" + I18n.getMessage("jsite.project.project.address") + "</b></html>");
projectPathLabel.setText(I18n.getMessage("jsite.project.project.path") + ":");
projectUriLabel.setText(I18n.getMessage("jsite.project.project.uri") + ":");
}
});
return informationPanel;
}
Example 25
Project: rapidminer-studio-master File: AnnotationsDecorator.java View source code |
/** * Creates and adds the JEditorPane for the currently selected annotation to the process * renderer. */ private void createEditor() { final WorkflowAnnotation selected = model.getSelected(); Rectangle2D loc = selected.getLocation(); // JEditorPane to edit the comment string editPane = new JEditorPane("text/html", ""); editPane.setBorder(null); int paneX = (int) (loc.getX() * rendererModel.getZoomFactor()); int paneY = (int) (loc.getY() * rendererModel.getZoomFactor()); int index = view.getModel().getProcessIndex(selected.getProcess()); Point absolute = ProcessDrawUtils.convertToAbsoluteProcessPoint(new Point(paneX, paneY), index, rendererModel); editPane.setBounds((int) absolute.getX(), (int) absolute.getY(), (int) (loc.getWidth() * rendererModel.getZoomFactor()), (int) (loc.getHeight() * rendererModel.getZoomFactor())); editPane.setText(AnnotationDrawUtils.createStyledCommentString(selected)); // use proxy for paste actions to trigger reload of editor after paste Action pasteFromClipboard = editPane.getActionMap().get(PASTE_FROM_CLIPBOARD_ACTION_NAME); Action paste = editPane.getActionMap().get(PASTE_ACTION_NAME); if (pasteFromClipboard != null) { editPane.getActionMap().put(PASTE_FROM_CLIPBOARD_ACTION_NAME, new PasteAnnotationProxyAction(pasteFromClipboard, this)); } if (paste != null) { editPane.getActionMap().put(PASTE_ACTION_NAME, new PasteAnnotationProxyAction(paste, this)); } // use proxy for transfer actions to convert e.g. HTML paste to plaintext paste editPane.setTransferHandler(new TransferHandlerAnnotationPlaintext(editPane)); // IMPORTANT: Linebreaks do not work without the following! // this filter inserts a \r every time the user enters a newline // this signal is later used to convert newline to <br/> ((HTMLDocument) editPane.getDocument()).setDocumentFilter(new DocumentFilter() { @Override public void insertString(DocumentFilter.FilterBypass fb, int offs, String str, AttributeSet a) throws BadLocationException { // this is never called.. super.insertString(fb, offs, str.replaceAll("\n", "\n" + AnnotationDrawUtils.ANNOTATION_HTML_NEWLINE_SIGNAL), a); } @Override public void replace(FilterBypass fb, int offs, int length, String str, AttributeSet a) throws BadLocationException { if (selected instanceof OperatorAnnotation) { // operator annotations have a character limit, enforce here try { int existingLength = AnnotationDrawUtils.getPlaintextFromEditor(editPane, false).length() - length; if (existingLength + str.length() > OperatorAnnotation.MAX_CHARACTERS) { // insert at beginning or end is fine, cut off excess characters if (existingLength <= 0 || offs >= existingLength) { int acceptableLength = OperatorAnnotation.MAX_CHARACTERS - existingLength; int newLength = Math.max(acceptableLength, 0); str = str.substring(0, newLength); } else { // inserting into middle, do NOT paste at all return; } } } catch (IOException e) { } } super.replace(fb, offs, length, str.replaceAll("\n", "\n" + AnnotationDrawUtils.ANNOTATION_HTML_NEWLINE_SIGNAL), a); } }); // set background color if (selected.getStyle().getAnnotationColor() == AnnotationColor.TRANSPARENT) { editPane.setBackground(Color.WHITE); } else { editPane.setBackground(selected.getStyle().getAnnotationColor().getColorHighlight()); } editPane.addFocusListener(new FocusAdapter() { @Override public void focusLost(final FocusEvent e) { // right-click menu if (e.isTemporary()) { return; } if (editPane != null && e.getOppositeComponent() != null) { // style edit menu, no real focus loss if (SwingUtilities.isDescendingFrom(e.getOppositeComponent(), editPanel)) { return; } if (SwingUtilities.isDescendingFrom(e.getOppositeComponent(), colorOverlay)) { return; } if (colorOverlay.getParent() == e.getOppositeComponent()) { return; } saveEdit(selected); removeEditor(); } } }); editPane.addKeyListener(new KeyAdapter() { /** keep track of control down so Ctrl+Enter works but Enter+Ctrl not */ private boolean controlDown; @Override public void keyPressed(final KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_CONTROL) { controlDown = true; } // consume so undo/redo etc are not passed to the process if (SwingTools.isControlOrMetaDown(e) && e.getKeyCode() == KeyEvent.VK_Z || e.getKeyCode() == KeyEvent.VK_Y) { e.consume(); } } @Override public void keyReleased(final KeyEvent e) { switch(e.getKeyCode()) { case KeyEvent.VK_CONTROL: controlDown = false; break; case KeyEvent.VK_ENTER: if (!controlDown) { updateEditorHeight(selected); } else { // if control was down before Enter was pressed, save & exit saveEdit(selected); removeEditor(); model.setSelected(null); } break; case KeyEvent.VK_ESCAPE: // ignore changes on escape removeEditor(); model.setSelected(null); break; default: break; } } }); editPane.getDocument().addDocumentListener(new DocumentListener() { @Override public void removeUpdate(DocumentEvent e) { updateEditorHeight(selected); } @Override public void insertUpdate(DocumentEvent e) { updateEditorHeight(selected); } @Override public void changedUpdate(DocumentEvent e) { updateEditorHeight(selected); } }); view.add(editPane); editPane.selectAll(); }
Example 26
Project: esms-master File: SMSPanel.java View source code |
@Override
public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {
//if reached size limit, crop the text and show a warning
String currentText = fb.getDocument().getText(0, fb.getDocument().getLength());
if ((currentText.length() + (text != null ? text.length() : 0) - length) > envelope.getMaxTextLength()) {
Context.mainFrame.getStatusPanel().setStatusMessage(l10n.getString("SMSPanel.Text_is_too_long!"), null, null, false);
Context.mainFrame.getStatusPanel().hideStatusMessageAfter(5000);
int maxlength = envelope.getMaxTextLength(currentText) - currentText.length() + length;
maxlength = Math.max(maxlength, 0);
if (text != null) {
text = text.substring(0, maxlength);
}
}
super.replace(fb, offset, length, text, lastStyle);
timer.restart();
}
Example 27
Project: chartsy-master File: UppercaseDocumentFilter.java View source code |
public void insertString(DocumentFilter.FilterBypass fb, int offset, String text, AttributeSet attr) throws BadLocationException {
fb.insertString(offset, text.toUpperCase(), attr);
}
Example 28
Project: chatty-master File: RegexDocumentFilter.java View source code |
@Override
public void insertString(DocumentFilter.FilterBypass fb, int off, String str, AttributeSet attr) {
try {
fb.insertString(off, pattern.matcher(str).replaceAll(""), attr);
} catch (BadLocationExceptionNullPointerException | ex) {
}
}
Example 29
Project: jedit_cc4401-master File: CPDOptionPane.java View source code |
public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException {
super.remove(fb, offset, length);
}
Example 30
Project: commons-swing-master File: FloatFormatter.java View source code |
@Override
protected DocumentFilter getDocumentFilter() {
return filter;
}
Example 31
Project: Crimson-master File: FieldLimiter.java View source code |
public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {
fb.replace(offset, length, uppercase ? text.toUpperCase() : text, attrs);
}
Example 32
Project: exist-master File: UmaskEditorFormatter.java View source code |
@Override
protected DocumentFilter getDocumentFilter() {
return new UmaskDocumentFilter();
}
Example 33
Project: XSLT-master File: UmaskEditorFormatter.java View source code |
@Override
protected DocumentFilter getDocumentFilter() {
return new UmaskDocumentFilter();
}
Example 34
Project: binnavi-master File: CHexFormatter.java View source code |
@Override
protected DocumentFilter getDocumentFilter() {
return filter;
}
Example 35
Project: medsavant-master File: FixedLengthTextFilter.java View source code |
public void insertString(DocumentFilter.FilterBypass filtby, int ofs, String text, AttributeSet attrSet) throws BadLocationException {
if (filtby.getDocument().getLength() + text.length() <= maxLength) {
filtby.insertString(ofs, text, attrSet);
} else {
Toolkit.getDefaultToolkit().beep();
}
}
Example 36
Project: JDK-master File: ValueFormatter.java View source code |
@Override
protected DocumentFilter getDocumentFilter() {
return this.filter;
}
Example 37
Project: Work_book-master File: FormatTestFrame.java View source code |
protected DocumentFilter getDocumentFilter() {
return filter;
}
Example 38
Project: jdk7u-jdk-master File: ValueFormatter.java View source code |
@Override
protected DocumentFilter getDocumentFilter() {
return this.filter;
}
Example 39
Project: openjdk-master File: ValueFormatter.java View source code |
@Override
protected DocumentFilter getDocumentFilter() {
return this.filter;
}
Example 40
Project: openjdk8-jdk-master File: ValueFormatter.java View source code |
@Override
protected DocumentFilter getDocumentFilter() {
return this.filter;
}
Example 41
Project: haskell-java-parser-master File: JFormattedTextField.java View source code |
protected DocumentFilter getDocumentFilter() {
throw new InternalError("not implemented");
}
Example 42
Project: erjang-master File: TTYTextAreaDriverControl.java View source code |
public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
if (offset >= startPos)
super.insertString(fb, offset, string, attr);
}
Example 43
Project: servoy-client-master File: FixedDefaultFormatter.java View source code |
/** * Returns the <code>DocumentFilter</code> used to restrict the characters * that can be input into the <code>JFormattedTextField</code>. * * @return DocumentFilter to restrict edits */ @Override protected DocumentFilter getDocumentFilter() { if (documentFilter == null) { documentFilter = new DefaultDocumentFilter(); } return documentFilter; }