⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 acltextarea.java

📁 java实现的P2P多agent中间件
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
          textArea.getToolkit().beep();
          return;
        }

        if (textArea.getSelectionStart()
           != textArea.getSelectionEnd()) {
          textArea.setSelectedText("");
        }

        else {
          int caret = textArea.getCaretPosition();
          if (caret == 0) {
            textArea.getToolkit().beep();
            return;
          }
          try {
            textArea.getDocument().remove(caret - 1, 1);
          }
          catch (BadLocationException bl) {
            bl.printStackTrace();
          }
        }
      }
    }


    public static class delete implements ActionListener {
      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);

        if (!textArea.isEditable()) {
          textArea.getToolkit().beep();
          return;
        }

        if (textArea.getSelectionStart()
           != textArea.getSelectionEnd()) {
          textArea.setSelectedText("");
        }

        else {
          int caret = textArea.getCaretPosition();
          if (caret == textArea.getDocumentLength()) {
            textArea.getToolkit().beep();
            return;
          }
          try {
            textArea.getDocument().remove(caret, 1);
          }
          catch (BadLocationException bl) {
            bl.printStackTrace();
          }
        }
      }
    }


    public static class end implements ActionListener {

      public end(boolean select) {
        this.select = select;
      }


      public void actionPerformed(ActionEvent evt) {

        ACLTextArea textArea = getTextArea(evt);

        int caret = textArea.getCaretPosition();

        int lastOfLine = textArea.getLineEndOffset(
          textArea.getCaretLine()) - 1;
        int lastVisibleLine = textArea.getFirstLine()
           + textArea.getVisibleLines();
        if (lastVisibleLine >= textArea.getLineCount()) {
          lastVisibleLine = Math.min(textArea.getLineCount() - 1,
            lastVisibleLine);
        }

        else {
          lastVisibleLine -= (textArea.getElectricScroll() + 1);
        }

        int lastVisible = textArea.getLineEndOffset(lastVisibleLine) - 1;
        int lastDocument = textArea.getDocumentLength();

        if (caret == lastDocument) {
          textArea.getToolkit().beep();
          return;
        }
        else if (caret == lastVisible) {
          caret = lastDocument;
        }

        else if (caret == lastOfLine) {
          caret = lastVisible;
        }

        else {
          caret = lastOfLine;
        }

        if (select) {
          textArea.select(textArea.getMarkPosition(), caret);
        }

        else {
          textArea.setCaretPosition(caret);
        }

      }


      private boolean select;
    }


    public static class home implements ActionListener {

      public home(boolean select) {
        this.select = select;
      }


      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);

        int caret = textArea.getCaretPosition();

        int firstLine = textArea.getFirstLine();

        int firstOfLine = textArea.getLineStartOffset(
          textArea.getCaretLine());
        int firstVisibleLine = (firstLine == 0 ? 0 :
          firstLine + textArea.getElectricScroll());
        int firstVisible = textArea.getLineStartOffset(
          firstVisibleLine);

        if (caret == 0) {
          textArea.getToolkit().beep();
          return;
        }
        else if (caret == firstVisible) {
          caret = 0;
        }

        else if (caret == firstOfLine) {
          caret = firstVisible;
        }

        else {
          caret = firstOfLine;
        }

        if (select) {
          textArea.select(textArea.getMarkPosition(), caret);
        }

        else {
          textArea.setCaretPosition(caret);
        }

      }


      private boolean select;
    }


    public static class insert_break implements ActionListener {
      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);

        if (!textArea.isEditable()) {
          textArea.getToolkit().beep();
          return;
        }

        textArea.setSelectedText("\n");
      }
    }


    public static class insert_tab implements ActionListener {
      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);

        if (!textArea.isEditable()) {
          textArea.getToolkit().beep();
          return;
        }

        textArea.overwriteSetSelectedText("\t");
      }
    }


    public static class next_char implements ActionListener {

      public next_char(boolean select) {
        this.select = select;
      }


      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);
        int caret = textArea.getCaretPosition();
        if (caret == textArea.getDocumentLength()) {
          textArea.getToolkit().beep();
          return;
        }

        if (select) {
          textArea.select(textArea.getMarkPosition(),
            caret + 1);
        }

        else {
          textArea.setCaretPosition(caret + 1);
        }

      }


      private boolean select;
    }


    public static class next_line implements ActionListener {

      public next_line(boolean select) {
        this.select = select;
      }


      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);
        int caret = textArea.getCaretPosition();
        int line = textArea.getCaretLine();

        if (line == textArea.getLineCount() - 1) {
          textArea.getToolkit().beep();
          return;
        }

        int magic = textArea.getMagicCaretPosition();
        if (magic == -1) {
          magic = textArea.offsetToX(line,
            caret - textArea.getLineStartOffset(line));
        }

        caret = textArea.getLineStartOffset(line + 1)
           + textArea.xToOffset(line + 1, magic);
        if (select) {
          textArea.select(textArea.getMarkPosition(), caret);
        }

        else {
          textArea.setCaretPosition(caret);
        }

        textArea.setMagicCaretPosition(magic);
      }


      private boolean select;
    }


    public static class next_page implements ActionListener {

      public next_page(boolean select) {
        this.select = select;
      }


      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);
        int lineCount = textArea.getLineCount();
        int firstLine = textArea.getFirstLine();
        int visibleLines = textArea.getVisibleLines();
        int line = textArea.getCaretLine();

        firstLine += visibleLines;

        if (firstLine + visibleLines >= lineCount - 1) {
          firstLine = lineCount - visibleLines;
        }

        textArea.setFirstLine(firstLine);

        int caret = textArea.getLineStartOffset(
          Math.min(textArea.getLineCount() - 1,
          line + visibleLines));
        if (select) {
          textArea.select(textArea.getMarkPosition(), caret);
        }

        else {
          textArea.setCaretPosition(caret);
        }

      }


      private boolean select;
    }


    public static class next_word implements ActionListener {

      public next_word(boolean select) {
        this.select = select;
      }


      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);
        int caret = textArea.getCaretPosition();
        int line = textArea.getCaretLine();
        int lineStart = textArea.getLineStartOffset(line);
        caret -= lineStart;

        String lineText = textArea.getLineText(textArea.getCaretLine());

        if (caret == lineText.length()) {
          if (lineStart + caret == textArea.getDocumentLength()) {
            textArea.getToolkit().beep();
            return;
          }
          caret++;
        }
        else {

          char ch = lineText.charAt(caret);

          String noWordSep = (String)textArea.getDocument()
            .getProperty("noWordSep");
          boolean selectNoLetter = (!Character.isLetterOrDigit(ch)
             && noWordSep.indexOf(ch) == -1);

          int wordEnd = lineText.length();
          for (int i = caret; i < lineText.length(); i++) {
            ch = lineText.charAt(i);
            if (selectNoLetter ^ (!Character.isLetterOrDigit(ch) &&
              noWordSep.indexOf(ch) == -1)) {
              wordEnd = i;
              break;
            }
          }
          caret = wordEnd;
        }

        if (select) {
          textArea.select(textArea.getMarkPosition(),
            lineStart + caret);
        }

        else {
          textArea.setCaretPosition(lineStart + caret);
        }

      }


      private boolean select;
    }


    public static class overwrite implements ActionListener {
      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);
        textArea.setOverwriteEnabled(
          !textArea.isOverwriteEnabled());
      }
    }


    public static class prev_char implements ActionListener {

      public prev_char(boolean select) {
        this.select = select;
      }


      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);
        int caret = textArea.getCaretPosition();
        if (caret == 0) {
          textArea.getToolkit().beep();
          return;
        }

        if (select) {
          textArea.select(textArea.getMarkPosition(),
            caret - 1);
        }

        else {
          textArea.setCaretPosition(caret - 1);
        }

      }


      private boolean select;
    }


    public static class prev_line implements ActionListener {

      public prev_line(boolean select) {
        this.select = select;
      }


      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);
        int caret = textArea.getCaretPosition();
        int line = textArea.getCaretLine();

        if (line == 0) {
          textArea.getToolkit().beep();
          return;
        }

        int magic = textArea.getMagicCaretPosition();
        if (magic == -1) {
          magic = textArea.offsetToX(line,
            caret - textArea.getLineStartOffset(line));
        }

        caret = textArea.getLineStartOffset(line - 1)
           + textArea.xToOffset(line - 1, magic);
        if (select) {
          textArea.select(textArea.getMarkPosition(), caret);
        }

        else {
          textArea.setCaretPosition(caret);
        }

        textArea.setMagicCaretPosition(magic);
      }


      private boolean select;
    }


    public static class prev_page implements ActionListener {

      public prev_page(boolean select) {
        this.select = select;
      }


      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);
        int firstLine = textArea.getFirstLine();
        int visibleLines = textArea.getVisibleLines();
        int line = textArea.getCaretLine();

        if (firstLine < visibleLines) {
          firstLine = visibleLines;
        }

        textArea.setFirstLine(firstLine - visibleLines);

        int caret = textArea.getLineStartOffset(
          Math.max(0, line - visibleLines));
        if (select) {
          textArea.select(textArea.getMarkPosition(), caret);
        }

        else {
          textArea.setCaretPosition(caret);
        }

      }


      private boolean select;
    }


    public static class prev_word implements ActionListener {

      public prev_word(boolean select) {
        this.select = select;
      }


      public void actionPerformed(ActionEvent evt) {
        ACLTextArea textArea = getTextArea(evt);
        int caret = textArea.getCaretPosition();
        int line = textArea.getCaretLine();
        int lineStart = textArea.getLineStartOffset(line);
        caret -= lineStart;

        String lineText = textArea.getLineText(textArea.getCaretLine());

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -