2011-11-24 36 views
6

Làm thế nào tôi có thể phát hiện một cuộn 2 ngón tay trên bàn di chuột của máy tính xách tay trong java? Tôi đã tìm kiếm google và ở đây nhưng không thể tìm thấy bất cứ điều gì trên di chuyển bằng cách sử dụng một trackpad cho phép một mình làm thế nào để lắng nghe nó. Mọi sự trợ giúp sẽ rất được trân trọng. cảm ơn.Trình nghe nhạc di chuyển 2 ngón tay của bàn phím Java

+0

Cuộn bằng hai ngón tay sẽ phụ thuộc phần cứng phải không? –

+3

Bạn có phải phân biệt giữa một cuộn từ chuột và cuộn bàn di chuột không? –

+0

@KevinD - có thể, tôi chỉ tự hỏi rằng vì java là nền tảng độc lập nên có thể có giải pháp – Joe

Trả lời

4

Nếu đây là về việc nghe cuộn người dùng, bạn có thể thực hiện bằng cách thêm MouseWheelListener vào tầm kiểm soát của mình. Xem How to Write a Mouse-Wheel Listener để biết thêm thông tin.

Nếu đây là về việc phát hiện các sự kiện cụ thể từ bảng cảm ứng chứ không phải chuột, tôi không biết về bất kỳ tính năng Java nào để thực hiện việc này.

+0

đây là kinda cả, tôi muốn nghe cho người dùng cuộn bắt nguồn từ một trackpad, các liên kết bạn đưa ra sẽ có ích nhưng nó không hoạt động cho những gì tôi cần (Tôi đang ở trên một mac nếu điều đó làm cho bất kỳ sự khác biệt). – Joe

+0

Tôi đã googling cho bất kỳ vấn đề giữa MouseWheelListener và Mac OS và điều duy nhất tôi có thể tìm thấy là một xác nhận rằng MouseWheelListener là con đường để đi: http://lists.apple.com/archives/java-dev/2008/Jun/ msg00169.html Xin lỗi nếu điều đó không hiệu quả với bạn, tôi sẽ thử trên máy Mac của riêng mình nếu tôi có thể tìm thấy thời gian ở nhà. –

+0

okay ... có lẽ đó là IDE tôi đang sử dụng không thể, sẽ không hoặc không đăng ký cuộn. Tôi đang sử dụng chế biến và tất cả các trình lắng nghe chuột hoạt động ngoại trừ MouseWheelListener. Tôi sẽ kiểm tra trên diễn đàn của họ cho bất cứ điều gì. cảm ơn câu trả lời của bạn. – Joe

8

tôi đã thực hiện chương trình mẫu này

import java.awt.event.MouseWheelEvent; 
import java.awt.event.MouseWheelListener; 

import javax.swing.JFrame; 

public class ScrollTest { 

    public static void main(String[] args) { 
     JFrame frame = new JFrame(); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setSize(200,200); 
     frame.addMouseWheelListener(new MouseWheelListener() { 

      @Override 
      public void mouseWheelMoved(MouseWheelEvent event) { 
       if (event.isShiftDown()) { 
        System.err.println("Horizontal " + event.getWheelRotation()); 
       } else { 
        System.err.println("Vertical " + event.getWheelRotation());      
       } 
      } 
     }); 
     frame.setVisible(true); 
    } 
} 

Nó sẽ in nếu cuộn là ngang hoặc thẳng đứng và bao nhiêu cuộn là khi bạn di chuyển trong cửa sổ mở ra trên mac với một touchpad.

0

Cuối cùng là câu trả lời sẽ lắng nghe việc cuộn gốc. Hãy xem câu hỏi và câu trả lời của tôi ở đây: https://stackoverflow.com/a/31190973/155137

Dự án cũng phát hiện cử chỉ cuộn và báo cáo chúng một cách độc đáo. Việc cuộn trơn tru như một ứng dụng ca cao bản địa.

Các vấn đề liên quan