是的,我以前也遇到过
我的解决方法是先将内容保存到一个String中,然后通过String来查找、操作。
方法比较笨,呵呵
你说的这个问题后来也就没再追究

解决方案 »

  1.   

    这是我原来的小测试程序
    import java.awt.*;
    import java.awt.datatransfer.*;
    import java.awt.event.*;
    import java.io.*;
    public class Note extends Frame implements ActionListener {
        MenuItem menuFileOpen;
        MenuItem menuFileClose;
        MenuItem menuFileSave;
        MenuItem menuFileSaveAs;
        MenuItem menuFileExit;
        MenuItem menuEditPaste;
        MenuItem menuEditCopy;
        MenuItem menuEditCut;
        FileDialog load = new FileDialog(this, "打开文件", FileDialog.LOAD);
        TextArea a = new TextArea(6, 15);    public Note() {
            load.setVisible(false);
            add(a, BorderLayout.CENTER);        MenuBar menuBar = new MenuBar();
            Menu menuFile = new Menu("File");
            menuFileExit = new MenuItem("Exit");
            menuFileOpen = new MenuItem("Open");
            menuFileClose = new MenuItem("Close");
            menuFileSave = new MenuItem("Save");
            menuFileSaveAs = new MenuItem("Save As...");        Menu menuEdit = new Menu("Edit");
            menuEditCopy = new MenuItem("Copy");
            menuEditCut = new MenuItem("Cut");
            menuEditPaste = new MenuItem("Paste");        menuFile.add(menuFileOpen);
            menuFile.add(menuFileClose);
            menuFile.add(menuFileSave);
            menuFile.add(menuFileSaveAs);
            menuFile.addSeparator();
            menuFile.add(menuFileExit);
            menuBar.add(menuFile);
            menuEdit.add(menuEditCopy);
            menuEdit.add(menuEditCut);
            menuEdit.add(menuEditPaste);
            menuBar.add(menuEdit);        menuFileExit.addActionListener(this);
            menuFileOpen.addActionListener(this);
            menuFileClose.addActionListener(this);
            menuFileSave.addActionListener(this);
            menuFileSaveAs.addActionListener(this);
            menuEditCopy.addActionListener(this);
            menuEditCut.addActionListener(this);
            menuEditPaste.addActionListener(this);        // Add action listener.for the menu button
            this.addWindowListener(new WindowAdapter() {
                    public void windowClosing(WindowEvent e) {
                        dispose();
                    }
                });        setTitle("Writer_Panel");
            setMenuBar(menuBar);
            setSize(new Dimension(400, 300));
        }    public void actionPerformed(ActionEvent ae) {
            Clipboard clipboard = this.getToolkit().getSystemClipboard();        if(ae.getSource() == menuEditCopy) {
                String sele = a.getSelectedText();
                StringSelection stringselection = new StringSelection(sele);
                clipboard.setContents(stringselection, null);
            }        if(ae.getSource() == menuEditCut) {
                int f = a.getSelectionStart();
                int e = a.getSelectionEnd();
                String tmpstr = a.getText();
                String sele = a.getSelectedText();
                StringSelection stringselection = new StringSelection(sele);
                clipboard.setContents(stringselection, null);
                tmpstr = tmpstr.substring(0, f) + tmpstr.substring(e);
                a.setText(tmpstr);
            }        if(ae.getSource() == menuEditPaste) {
                int f = a.getSelectionStart();
                int e = a.getSelectionEnd();
                String tmpstr = a.getText();
                Transferable transferable = clipboard.getContents(this);
                DataFlavor dataflavor = DataFlavor.stringFlavor;            if(transferable.isDataFlavorSupported(dataflavor)) {
                    try {
                        String sele_2 = (String)transferable.getTransferData(dataflavor);
                        tmpstr = tmpstr.substring(0, f) + sele_2 + tmpstr.substring(e);
                        a.setText(tmpstr);
                    } catch(Exception ex) {
                    }
                }
            }        BufferedReader in;
            File file;        if(ae.getSource() == menuFileExit) {
                System.exit(0);
                this.dispose();
            }        if(ae.getSource() == menuFileClose) {
                a.setText("");
            }        if(ae.getSource() == menuFileOpen) {
                load.setVisible(true);            String s = new String();            try {
                    file = new File(load.getDirectory(), load.getFile());                FileReader file_reader = new FileReader(file);
                    in = new BufferedReader(file_reader);                while((s = in.readLine()) != null) {
                        a.append(s + '\n');
                    }                in.close();
                    file_reader.close();
                } catch(Exception ex) {
                }
            }
        }    public static void main(String args[]) {
            Note frame = new Note();
            frame.setVisible(true);
        }
    }
      

  2.   

    非常感谢以上两位的关注,同时也非常感谢zyg158((DD)One-Time Password System提供的源码,对我有非常大的帮助,谢谢。
    还请大家帮忙再看看,看是否有解决的办法,无论方法如何,希望大家都能提出自己的意见和相应的解决方法,谢谢
      

  3.   

    没有现成的api吗?也就是说把一个字符串中匹配的所有子字符串都选中的
      

  4.   

    楼上的,有那个API吗?
    我不知道,能不能详细的说明一下呀??