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

📄 textselection.java

📁 < ProJavaProgrammingSecondEdition> 书中例程源码
💻 JAVA
字号:
import java.awt.datatransfer.*;
import java.io.*;

public class TextSelection implements Transferable {

  protected String text;

  public final static DataFlavor UNICODE_FLAVOR = new DataFlavor(
      "text/plain; charset=unicode; " +
      "class=java.io.InputStream", "Unicode Text");
  public final static DataFlavor LATIN1_FLAVOR = new DataFlavor(
      "text/plain; charset=iso-8859-1; " +
      "class=java.io.InputStream", "Latin-1 Text");
  public final static DataFlavor ASCII_FLAVOR = new DataFlavor(
      "text/plain; charset=ascii; " +
      "class=java.io.InputStream", "ASCII Text");


  public static DataFlavor[] SUPPORTED_FLAVORS = {DataFlavor.stringFlavor,
      UNICODE_FLAVOR, LATIN1_FLAVOR, ASCII_FLAVOR};

  public TextSelection(String selection) {
    text = selection;
  }

  public DataFlavor[] getTransferDataFlavors() {
    return SUPPORTED_FLAVORS;
  }

  public boolean isDataFlavorSupported(DataFlavor flavor) {
    for (int i = 0; i < SUPPORTED_FLAVORS.length; i++) {
      if (SUPPORTED_FLAVORS[i].equals(flavor)) return true;
    }
    return false;
  }

  public Object getTransferData(DataFlavor flavor) throws
      IOException, UnsupportedFlavorException {
    if (flavor.equals(DataFlavor.stringFlavor)) {
      return text;
    }
    else if ((flavor.isMimeTypeEqual("text/plain")) &&
        (flavor.getRepresentationClass().equals(
        java.io.InputStream.class))) try {
      String encoding = flavor.getParameter("charset");
      if ((encoding != null) && (encoding.length() > 0)) {
        return new ByteArrayInputStream(
          text.getBytes(encoding));
      }
      return new ByteArrayInputStream(text.getBytes());
    } catch (Exception e) {};
    throw new UnsupportedFlavorException(flavor);
  }

}

⌨️ 快捷键说明

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