捕获MouseEnter事件,再调用setSelected()函数!

解决方案 »

  1.   

    MouseEnter事件是没有用的,这个我以前试过,需要用FocusListener,以下是代码:
    package test.graph.frame;import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.event.*;public class TestFrame extends JFrame implements ActionListener{
        JPanel _Panel;
        JButton _Button;
        JTextField _Text;
        public TestFrame() {
            this.setTitle("你好,测试TestFrame");
            this.setSize(400,200);        /*构造结构*/
            _Panel = new JPanel(new BorderLayout());
            _Button = new JButton("发送信息");
            _Button.addActionListener(this);
            _Text = new JTextField("中国人都是好样的");
            _Text.addFocusListener(new TextFocusListener());
            _Panel.add(_Text,BorderLayout.CENTER);
            _Panel.add(_Button,BorderLayout.SOUTH);
            this.getContentPane().add(_Panel);
        }    public void actionPerformed(ActionEvent event){
            if (event.getSource() == this._Button){
                String message = this._Text.getText();
                if (message != null)
                    System.out.println(message);
                    
            }
        }    class TextFocusListener implements FocusListener{
            public void focusLost(FocusEvent event){
                System.out.println("focusLost!");
            }
            public void focusGained(FocusEvent event){
                System.out.println("focusGained!");
                JTextField textField =  (JTextField)event.getSource();
                textField.selectAll();
            }
        }
    }
      

  2.   

    楼上正确。
    MouseListener t new yourClass() 
    其中yourClass实现了MouseListener
    tf.addMouseListener(t);//tf为textField
      

  3.   

    MouseEntered事件无用?不会吧,如下代码怎么解释
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class bean3 extends JFrame {
      JPanel contentPanel=(JPanel) this.getContentPane();
      JTextField jt=new JTextField("123456",20);
      JTextField jt1=new JTextField("abcdef",20);  public bean3() throws Exception {
        super("myFrame");
        this.setSize(800,600);
        this.setResizable(false);
        this.setLocation(this.getToolkit().getScreenSize().width/2-400,this.getToolkit().getScreenSize().height/2-300);
        contentPanel.setLayout(new FlowLayout());
        contentPanel.add("Center",jt);
        contentPanel.add("Center",jt1);
        jt.addMouseListener(new MouseAdapter() {
          public void mouseEntered(MouseEvent e) {
            ((JTextField)e.getSource()).requestFocus();
            ((JTextField)e.getSource()).selectAll();
          }
        });
        this.setVisible(true);
      }  public static void main(String[] args) throws Exception {
        new bean3();
      }  protected void processWindowEvent(WindowEvent e) {
        super.processWindowEvent(e);
        if (e.getID() == WindowEvent.WINDOW_CLOSING) {
          System.exit(0);
        }
      }
    }