在JTextField 或 JTextArea 控件中的初始值是"+ - * /",我用鼠标选中其中的一个,如:选+,就可以在另一个JTextField中返回+ ,选中 * 可以返回 *,依此类推,请问该怎么实现?

解决方案 »

  1.   

    JTextArea有一个getSelectedText();的方法,返回的是一个String
    你可以JTextArea a=new JTextArea("+-*/"),  //建立新的JTextArea并用+-*/初始化
    然后  String b=a.getSelectedText();       //用b保存返回的值
          JTextField c=new JTextField();      //建立一个新的JTextField
          c.setText(b);                       //将JTextField的文本设为b
      

  2.   

    还要实现一个Listener接口来监听鼠标的动作才能实现要求
      

  3.   

    需要实现 MouseEvent 事件
      

  4.   

    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    import javax.swing.*;
    import javax.swing.event.*;public class MouseDraw
    {
    public static void main(String[] args)
    {
    MouseFrame frame = new MouseFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.show();

    }
    }class MouseFrame extends JFrame
    {
    public MouseFrame()
    {

    setSize(WIDTH, HEIGHT);
    Container contentPane = getContentPane();
    NewObject();
    contentPane.add(text,BorderLayout.SOUTH);
    contentPane.add(textArea,BorderLayout.CENTER);
    } public void  NewObject()
    {
    text = new TextField();
    textArea=new TextArea(4,4);

    textArea.insert("+",0);
    textArea.insert("-",1);
    textArea.insert("*",2);
    textArea.insert("/",3);


    // DocumentListener myListener = new myListener();    

       //textArea.getDocument().addDocumentListener(myListener);  
       textArea.addMouseListener(new MouseAdapter()
    {
    int orgX,orgY;
    public void mousePressed(MouseEvent e)
    {
    orgX = e.getX();
    orgY = e.getY();
    }
    public void mouseReleased(MouseEvent e)
    {
    text.setText(textArea.getSelectedText());
    }

    });
    }


    public static final int WIDTH = 300;
    public static final int HEIGHT = 200; 
    private TextField text;
    private TextArea textArea;
    }/*
    class myListener implements DocumentListener
    {

    }*/