Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Cách gọi actionPerformed (Mouse Click) từ KeyListener

    Bây h mình có cái Frame bao gồm 9 ô, mỗi lần click vào ô nào sẻ in lên label của ô đó, bây h mình muốn đánh các ô đó số từ 1->9 bấm 1 thì nó sẻ gọi hàm actionPerform và truyền vào 1 cái ActionEvent của ô 2, tương từ như bấm chuột, nhưng đây bấm phím nó củng hiện lên cái label như mình ấn chuột vào ô đó vậy

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn thử code này xem:


    Mã:
    public static void click(int x, int y) throws AWTException{    Robot bot = new Robot();    bot.mouseMove(x, y);        bot.mousePress(InputEvent.BUTTON1_MASK);    bot.mouseRelease(InputEvent.BUTTON1_MASK);}
    Xin lỗi nếu như mình hiểu lầm câu hỏi, nhưng mình thấy của bạn thì invoke actionPerformed method cũng được mà nhỉ?

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi Kevin Hoang
    Bạn thử code này xem:


    Mã:
    public static void click(int x, int y) throws AWTException{    Robot bot = new Robot();    bot.mouseMove(x, y);        bot.mousePress(InputEvent.BUTTON1_MASK);    bot.mouseRelease(InputEvent.BUTTON1_MASK);}
    Xin lỗi nếu như mình hiểu lầm câu hỏi, nhưng mình thấy của bạn thì invoke actionPerformed method cũng được mà nhỉ?
    Cảm ơn bạn rất nhiều [IMG]images/smilies/online.gif[/IMG], mình dùng cách này thì làm được, nhưng đây mình phải canh tọa độ x,y và chuột của mình sẻ di chuyển đến vị trí x,y đó mổi lần mình Typekey, ví dụ mình có code như bên dưới.

    Mã:
    @Override
    public void actionPerformed(ActionEvent e)
    {
       if(e.getSource == btn[1])
           JoptionPane.showMessageDialog(e.getLabel());
    }
    và trên là event ấn vào mấy cài button đó, còn h mình muốn gài nếu ấn phím 1 thì sẻ gọi cái hàm actionPerformed bên trên với ActionEvent truyền vào là của btn[1] và tương tự phím 2 là btn[2], mình có thể gọi nó ra trực tiếp nhưng mình không biết chổ ActionEvent e thì mình sẻ truyền gì vào, nếu để null thì bị ngoại lệ ngay e.getSource().

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •