2011-08-16 36 views
6

Vì OS X hỗ trợ "cuộn tự nhiên", các ứng dụng của tôi hoạt động sai. Việc cuộn tự nhiên được tạo ra cho các ô cuộn mà tôi thực sự thích. Nhưng, khi tôi muốn phóng to/thu nhỏ, nó hoạt động sai. Vì vậy, những gì tôi muốn làm là kiểm tra các phương pháp di chuyển cho OS X.
Nếu nó là "tự nhiên" tôi sẽ đối diện với các giá trị di chuyển từ MouseWheelEvent.getWheelRotation() để làm cho zoom/in hành vi của tôi cảm thấy chính xác.Java: Cách tải phương thức cuộn trong OS X Lion?

Vì vậy, trong ngắn hạn: Làm thế nào để biết nếu OS X sử dụng cuộn tự nhiên hay không?

+0

xin vui lòng bạn có thể làm rõ cuộn 'cuộn tự nhiên được tạo ra cho cuộn cuộn' là gì, giá trị int khác nhau từ' ScrollableUnitXxx' và 'ScrollableTracksXxx' so với/so với hệ điều hành gốc khác – mKorbel

+1

OS X cung cấp cài đặt" cuộn tự nhiên ". Nếu bạn bật và cuộn, nội dung sẽ theo ngón tay của bạn. Nếu nó không được kích hoạt, thanh cuộn sẽ theo các ngón tay của bạn, làm cho nội dung chuyển sang hướng khác. –

Trả lời

3

Tìm thấy giải pháp.

Trước tiên, bạn cần thư viện để đọc tệp .plist. Tôi đã sử dụng this one.

Hơn bạn có thể dễ dàng đọc trong GlobalPreferneces.plist (kiểm tra với fseventer mà tập tin được thay đổi khi thay đổi tùy chọn di chuyển) để tìm ra các loại di chuyển được kích hoạt như thế này:

try { 
    File globalPref = new File(System.getProperty("user.home") + "/Library/Preferences/.GlobalPreferences.plist"); 
    NSDictionary dict = (NSDictionary)PropertyListParser.parse(globalPref); 

    NSNumber pref = (NSNumber)dict.objectForKey("com.apple.swipescrolldirection"); 

    if(pref.boolValue()) { 
     //natural scrolling is enabled 
    } 
} catch (Exception ex) { 
    System.out.println("Faild to parse plist: " + ex.getMessage()); 
} 
+0

Đó thực sự là nó. Tôi đã tìm thấy tệp và giá trị thay đổi khi tôi sửa đổi cài đặt. Cảm ơn! –

1

Vì Apple đã loại bỏ Java, tôi không nghĩ rằng có sẵn phương pháp để phát hiện xem cuộn tự nhiên có được bật hay không. Tuy nhiên, bạn có thể đọc trong tệp .plist để định cấu hình hành vi chuột/bàn di chuột (là tệp xml cơ bản) và tìm thuộc tính để bật cuộn tự động được đặt thành true hoặc false.

Bạn có thể tìm thấy các tập tin plist yêu cầu ở đây:

tài khoản/Library/Preferences/< - thư mục này được giấu trong Lion!

com.apple.driver.AppleBluetoothMultitouch.mouse.plist

com.apple.driver.AppleHIDMouse.plist

Edit:

Bạn không thể đọc được trong một file plist với tiêu chuẩn Java Framework, kể từ Mac OS 10.4 tất cả .plists được lưu ở định dạng nhị phân. Xem câu trả lời khác của tôi cho một giải pháp đúng.

+0

Tôi tìm thấy thư mục, nhưng các tệp bạn đã đề cập không có trong đó. –

+0

Điều đó rất lạ. Bạn đã bao giờ thực hiện thay đổi đối với cài đặt chuột của mình chưa? Ngoài ra, bạn cần phải thay thế Người dùng bằng tên người dùng của riêng bạn :) –

+0

Có, tôi đã thực hiện thay đổi. Chỉ sử dụng GUI do Apple cung cấp. Tệp không nên biến mất do các thay đổi. –

1

Hãy xem Mike Swingler answer trên danh sách gửi thư java-dev. Có một chuỗi toàn bộ về nó.

+0

Cảm ơn chủ đề, nhưng vẫn không có câu trả lời nào trong danh sách gửi thư. –

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