2012-02-05 26 views
8

Có triển khai chuẩn hoặc thư viện cung cấp công tắc chuyển đổi GUI trong Swing không? Tôi biết Swing cung cấp một nút chuyển đổi , nhưng UX lá một chút để được mong muốn. Tôi đang tìm kiếm này:Có công tắc chuyển đổi GUI chuẩn trong Java không?

enter image description here

Ngoài ra, là có một thuật ngữ kinh điển cho loại hình này tầm kiểm soát? Apple HIG gọi nó là UISwitch. Tôi cũng đã cố gắng tìm kiếm "chuyển đổi chuyển đổi", nhưng tôi không có nhiều may mắn. (Nhiều kết quả JavaScript, nhưng không có nội dung gốc.)

+0

thí dụ liên hệ có thể được tìm thấy [ở đây] (http : //stackoverflow.com/a/5528653/230513) và [tại đây] (http://stackoverflow.com/a/6036048/230513). – trashgod

Trả lời

8

Bạn có thể bắt chước bằng cách sử dụng hai biểu tượng để thể hiện trên & tắt, sau đó đặt chúng thành JToggleButton. Ngoài ra, người dùng muốn thấy các GUI hợp lý và nhất quán đại diện cho 'con đường ít ngạc nhiên nhất', các nhà phát triển nghĩ rằng người dùng muốn có một GUI đẹp, thông minh (và họ có thể thiết kế một GUI). Tại sao họ lại muốn một sự kiểm soát như vậy trên một nút chuyển đổi tiêu chuẩn?

+4

Nút chuyển đổi giống như bắt chước một chuyển đổi vật lý thực, miễn là người dùng biết điều gì sẽ xảy ra khi họ tương tác với nó, sẽ có hiệu ứng bất ngờ tối thiểu. 1 cho 'JToggleButton', đó là một cách dễ dàng hơn để đi về nó và sẽ tiết kiệm thời gian không phải phát minh lại nó. – rtheunissen

+0

Apple dường như thích ý tưởng: http://goo.gl/EhyDm – rtheunissen

+0

@ hoang tưởng-android Miễn là nó là một thành phần bình thường của hệ điều hành, nó không còn là con đường gây ngạc nhiên ít nhất. OTOH Tôi cho rằng đó chỉ là một cách (và không nhất thiết là tốt nhất) để đại diện cho một 'công tắc toggleable'. Nút chuyển đổi hoặc hộp kiểm là hai cách khác. –

3

Swing không có công tắc chuẩn như nút bạn mô tả. Đặt cược tốt nhất của bạn nếu bạn không thể tìm thấy một bên thứ ba sẽ chỉ đơn giản là viết một. Con đường tôi muốn tiếp cận nó sẽ là một cấu trúc đơn giản như thế này:

JLabel
• Override paintComponent
• Kiểm tra nhà nước với một cái gì đó giống như isOn()
• Thêm một MouseListener để chuyển đổi trạng thái.
• Tranh tùy chỉnh sẽ tính đến các giá trị và kích thước nhãn của tài khoản.

Tôi có thể gửi cho bạn một cái mà tôi đã viết cách đây một thời gian, nhưng bạn có thể có một ý tưởng rất cụ thể về những gì bạn muốn có thể đáng giá nửa giờ xây dựng nó.

+0

Thực hiện 'Biểu tượng' cũng là cách thuận tiện để thay đổi giao diện. – trashgod

5

Tôi không biết của một tiêu chuẩn, nhưng Gerrit Grunwald người tạo ra các thành phần SteelSeries tạo một thực hiện điều này mà ông gọi là một Steel Checkbox

Steel checkbox

+0

Blog của Gerrit là một tài nguyên tuyệt vời. Cảm ơn! – cbednarski

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