public void execute() { if (!isEditable() || !isEnabled()) { return; } int position = lastClickPoint != null ? viewToModel(lastClickPoint) : getCaretPosition(); lastClickPoint = null; Document document = getDocument(); String selectedText = getSelectedText(); try { if (selectedText != null && !CommonUtil.isEmpty(selectedText)) { String trimmed = selectedText.trim(); if (trimmed.startsWith("<!--") && trimmed.endsWith("-->")) { StringBuffer buffer = new StringBuffer(selectedText); int pos = buffer.indexOf("<!--"); buffer.delete(pos, pos + 4); pos = buffer.lastIndexOf("-->"); buffer.delete(pos, pos + 3); replaceSelection(buffer.toString()); } else { String newSelection = "<!--" + selectedText + "-->"; replaceSelection(newSelection); } } else { final int docLen = document.getLength(); int fromIndex = Math.max(0, getText(0, position).lastIndexOf('\n')); int toIndex = getText(fromIndex + 1, docLen - position).indexOf('\n'); toIndex = toIndex < 0 ? docLen : fromIndex + toIndex; String textToComment = getText(fromIndex, toIndex - fromIndex + 1); if (textToComment.startsWith("\n")) { textToComment = textToComment.substring(1); fromIndex++; } if (textToComment.endsWith("\n")) { textToComment = textToComment.substring(0, textToComment.length() - 1); toIndex--; } String trimmed = textToComment.trim(); if (trimmed.startsWith("<!--") && trimmed.endsWith("-->")) { int pos = textToComment.lastIndexOf("-->"); document.remove(fromIndex + pos, 3); pos = textToComment.indexOf("<!--"); document.remove(fromIndex + pos, 4); } else { document.insertString(Math.min(toIndex + 1, docLen), "-->", null); document.insertString(fromIndex, "<!--", null); } } } catch (BadLocationException e1) { e1.printStackTrace(); } }
private void onReceiveChar(char character) { buffer.append(character); if (buffer.charAt(buffer.length() - 1) == '\n') { onReceiveLine(buffer.toString()); buffer.delete(0, buffer.length()); } }
/** * Method description * * @param color * @return */ public static String getcommaSeparatedRGBString(Color color) { if (color != null) { scratchBuffer.delete(0, scratchBuffer.length()); // Clear int red = color.getRed(); int green = color.getGreen(); int blue = color.getBlue(); scratchBuffer.append(red); scratchBuffer.append(","); scratchBuffer.append(green); scratchBuffer.append(","); scratchBuffer.append(blue); } return scratchBuffer.toString(); }
// crear una sucesion de cuadrados static void cuadrado() { // 1, 4, 9, 16, 25, 36, 49, 64, 81, try { String s1 = JOptionPane.showInputDialog( "Ingrese un numero hasta la que desea ver la sucesion de cuadrados :"); int limite = Integer.parseInt(s1); StringBuffer sb = new StringBuffer(); for (int numero = 1, sqrt = 1; numero < limite; sqrt = ++numero * numero) { sb.append(sqrt + " , "); } int largo = sb.length(); JOptionPane.showMessageDialog(null, "Sucesion sqrt = " + sb.delete(largo - 2, largo)); } catch (NumberFormatException e) { JOptionPane.showMessageDialog(null, "No ha ingresado un numero !"); } }
/** * Searches the contact list when any key, different from "space", "+" or "-" is typed. Selects * the Contact name closest to the typed string. The time between two button presses is checked to * determine whether the user makes a new search or a continuous search. When user types the same * letter consecutively the search mechanism selects the next Contact name starting with the same * letter. */ public void keyTyped(KeyEvent e) { // Nothing to do if the contact list is empty if (contactList.getModel().getSize() <= 0) return; long eventTimestamp = e.getWhen(); char keyChar = e.getKeyChar(); if (keyChar == ' ') { openOrCloseGroup(); } else if (keyChar == '+') { openGroup(); } else if (keyChar == '-') { closeGroup(); } else { if ((lastTypedTimestamp - eventTimestamp) > 1000) { keyBuffer.delete(0, keyBuffer.length() - 1); } this.lastTypedTimestamp = eventTimestamp; this.keyBuffer.append(keyChar); boolean selectedSameLetterContact = false; int selectedIndex = this.contactList.getSelectedIndex(); // Check if there's any selected contact node and get its name. if (selectedIndex != -1) { Object selectedObject = this.contactList.getSelectedValue(); if (selectedObject instanceof MetaContact) { String selectedContactName = ((MetaContact) selectedObject).getDisplayName(); if (selectedContactName != null) { selectedSameLetterContact = selectedContactName.substring(0, 1).equalsIgnoreCase(keyBuffer.toString()); } } else if (selectedObject instanceof ConferenceChatContact) { String selectedContactName = ((ConferenceChatContact) selectedObject).getName(); if (selectedContactName != null) { selectedSameLetterContact = selectedContactName.substring(0, 1).equalsIgnoreCase(keyBuffer.toString()); } } } // The search starts from the beginning if: // 1) the newly entered character is different from the last one // or // 2) the currently selected contact starts with a different letter int contactIndex = contactList.getNextMatch( keyBuffer.toString(), (lastTypedKey != keyChar || !selectedSameLetterContact) ? 0 : selectedIndex + 1, Position.Bias.Forward); int currentlySelectedIndex = this.contactList.getSelectedIndex(); if (currentlySelectedIndex != contactIndex && contactIndex != -1) { this.contactList.setSelectedIndex(contactIndex); currentlySelectedIndex = contactList.getSelectedIndex(); } this.contactList.ensureIndexIsVisible(currentlySelectedIndex); this.lastTypedKey = keyChar; } }
void setupPanel(JabRefFrame frame, BasePanel bPanel, boolean addKeyField, String title) { InputMap im = panel.getInputMap(JComponent.WHEN_FOCUSED); ActionMap am = panel.getActionMap(); im.put(Globals.prefs.getKey("Entry editor, previous entry"), "prev"); am.put("prev", parent.prevEntryAction); im.put(Globals.prefs.getKey("Entry editor, next entry"), "next"); am.put("next", parent.nextEntryAction); im.put(Globals.prefs.getKey("Entry editor, store field"), "store"); am.put("store", parent.storeFieldAction); im.put(Globals.prefs.getKey("Entry editor, next panel"), "right"); im.put(Globals.prefs.getKey("Entry editor, next panel 2"), "right"); am.put("left", parent.switchLeftAction); im.put(Globals.prefs.getKey("Entry editor, previous panel"), "left"); im.put(Globals.prefs.getKey("Entry editor, previous panel 2"), "left"); am.put("right", parent.switchRightAction); im.put(Globals.prefs.getKey("Help"), "help"); am.put("help", parent.helpAction); im.put(Globals.prefs.getKey("Save database"), "save"); am.put("save", parent.saveDatabaseAction); im.put(Globals.prefs.getKey("Next tab"), "nexttab"); am.put("nexttab", parent.frame.nextTab); im.put(Globals.prefs.getKey("Previous tab"), "prevtab"); am.put("prevtab", parent.frame.prevTab); panel.setName(title); // String rowSpec = "left:pref, 4dlu, fill:pref:grow, 4dlu, fill:pref"; String colSpec = "fill:pref, 1dlu, fill:10dlu:grow, 1dlu, fill:pref, " + "8dlu, fill:pref, 1dlu, fill:10dlu:grow, 1dlu, fill:pref"; StringBuffer sb = new StringBuffer(); int rows = (int) Math.ceil((double) fields.length / 2.0); for (int i = 0; i < rows; i++) { sb.append("fill:pref:grow, "); } if (addKeyField) sb.append("4dlu, fill:pref"); else if (sb.length() >= 2) sb.delete(sb.length() - 2, sb.length()); String rowSpec = sb.toString(); DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout(colSpec, rowSpec), panel); for (int i = 0; i < fields.length; i++) { // Create the text area: int editorType = BibtexFields.getEditorType(fields[i]); final FieldEditor ta; if (editorType == GUIGlobals.FILE_LIST_EDITOR) ta = new FileListEditor(frame, bPanel.metaData(), fields[i], null, parent); else ta = new FieldTextArea(fields[i], null); // ta.addUndoableEditListener(bPanel.undoListener); JComponent ex = parent.getExtra(fields[i], ta); // Add autocompleter listener, if required for this field: AbstractAutoCompleter autoComp = bPanel.getAutoCompleter(fields[i]); AutoCompleteListener acl = null; if (autoComp != null) { acl = new AutoCompleteListener(autoComp); } setupJTextComponent(ta.getTextComponent(), acl); ta.setAutoCompleteListener(acl); // Store the editor for later reference: editors.put(fields[i], ta); if (i == 0) activeField = ta; // System.out.println(fields[i]+": "+BibtexFields.getFieldWeight(fields[i])); // ta.getPane().setPreferredSize(new Dimension(100, // (int)(50.0*BibtexFields.getFieldWeight(fields[i])))); builder.append(ta.getLabel()); if (ex == null) builder.append(ta.getPane(), 3); else { builder.append(ta.getPane()); JPanel pan = new JPanel(); pan.setLayout(new BorderLayout()); pan.add(ex, BorderLayout.NORTH); builder.append(pan); } if (i % 2 == 1) builder.nextLine(); } // Add the edit field for Bibtex-key. if (addKeyField) { final FieldTextField tf = new FieldTextField( BibtexFields.KEY_FIELD, parent.getEntry().getField(BibtexFields.KEY_FIELD), true); // tf.addUndoableEditListener(bPanel.undoListener); setupJTextComponent(tf, null); editors.put("bibtexkey", tf); /* * If the key field is the only field, we should have only one * editor, and this one should be set as active initially: */ if (editors.size() == 1) activeField = tf; builder.nextLine(); builder.append(tf.getLabel()); builder.append(tf, 3); } }