2012-04-04 22 views
6

Tôi có một số không rõ ràng là JFrame mà tôi đã đặt bằng cách sử dụng AWTUtilities.setWindowOpaque(this, false). Trên JFrame, tôi có một scrollpane; nó hoạt động hoàn hảo trên Windows. Trên máy Mac, toàn bộ JFrame có thể kéo được; vì vậy khi tôi cố gắng cuộn qua thanh cuộn bằng cách nhấp và giữ chuột trên thanh cuộn, toàn bộ khung di chuyển thay vì ngón tay cái của thanh cuộn. Tôi cũng đã cố gắng sử dụng setBackground(new Color(0,0,0,0)) thay vì setWindowOpaque(), nhưng nó có cùng một vấn đề. có ý tưởng nào để sửa cái này không?Làm cho các khoảng trống trong suốt của JFrame cuộn trên máy Mac

+0

Phiên bản JRE của bạn là 1.7? –

+0

1.6.0_29 và sư tử osx 10.7.3 – user1309036

+0

Bạn có thể thử đặt nền thành gần như trong suốt, ví dụ: Màu (0,0,0,10) hoặc hơn (không nhất định về ngưỡng chính xác). – technomage

Trả lời

1

Như đã đề cập trong this similar thread, hãy thử:

getRootPane().putClientProperty("apple.awt.draggableWindowBackground", Boolean.FALSE); 

Nếu bạn chọn sử dụng này, các thanh cuộn sẽ có thể sử dụng và cửa sổ sẽ không kéo. Tuy nhiên, bạn có thể bị kẹt với một cửa sổ bất động, trừ khi bạn thêm MouseMotionListener và di chuyển cửa sổ xung quanh theo phương thức mouseDragged() bằng cách sử dụng cuộc gọi như frame.setLocation(). Thay vào đó, bạn có thể buộc người dùng nhấp vào các nút mũi tên của thanh cuộn, thay vì kéo thanh cuộn ... Nhưng đó không phải là ý tưởng thân thiện với người dùng nhất mà tôi từng thấy.

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