Làm cách nào để kiểm tra xem giá trị của JSlider hoặc JSpinner đã được đặt thông qua giao diện đồ họa hay không thông qua phương thức setValue(int n)
?Cách kiểm tra xem giá trị đã được đặt thủ công hay chưa với setValue (JSlider, JSpinner)?
Trả lời
Đặt giá trị boolean thành true bất cứ khi nào bạn gọi setValue theo chương trình (trước khi gọi nó) và đặt lại thành false khi bạn xử lý sự kiện.
Nội bộ, ´setValue´ được gọi. Bạn có thể thử bắt sự kiện khi người dùng di chuyển núm của thanh trượt bằng cách triển khai ChangeListener để nắm bắt sự kiện đó. Ngoài ra, hãy nhớ rằng việc di chuyển núm sẽ kích hoạt nhiều sự kiện thay đổi, vì vậy nếu bạn quan tâm đến giá trị cuối cùng của thanh trượt, hãy sử dụng số getValueIsAdjusting
khi nó đánh giá là false
.
Nếu vấn đề được withing một ChangeListener
, hãy thử mở rộng thành phần JSlider và thêm một phương pháp mới mà nhận giá trị mới và người phát hành nó (với một mã int hoặc một enum, ví dụ), phát sinh các thiết lập của giá trị sau khi bạn đặt logic tùy chỉnh của mình thành phương thức setValue thực.
Trong trường hợp của bạn, bạn sẽ muốn ngăn chặn sự xâm nhập của setValue
nếu một số thành phần gọi nó, nếu tôi không nhầm.
Tôi đã bắt gặp sự kiện này, vì có hai đối tượng phụ thuộc lẫn nhau và họ thay đổi một giá trị anothers để họ nhận được một vòng lặp vô hạn, đó là lý do tại sao Tôi cần phát hiện chế độ thay đổi. –
@ AndrewG.H. Tôi đã cập nhật câu trả lời của mình. – Gamb
- 1. Cách kiểm tra xem WaitHandle đã được đặt chưa?
- 2. Kiểm tra xem giá trị nguyên đã tăng chưa?
- 3. Kiểm tra Solidworks đã được cài đặt chưa?
- 4. Cách kiểm tra xem thư đã được gửi thành công chưa
- 5. Kiểm tra xem e-mail đã được nhập đúng chưa
- 6. Làm thế nào để kiểm tra xem tai nghe đã được cắm vào hay chưa?
- 7. Kiểm tra xem tất cả các giá trị đã được đọc thành công từ std :: istream
- 8. Kiểm tra xem hằng số đã được xác định chưa
- 9. Cách kiểm tra xem SP1 cho SQL Server 2008 R2 đã được cài đặt chưa?
- 10. Làm cách nào để kiểm tra xem mô-đun Perl đã được cài đặt chưa?
- 11. Cách kiểm tra xem một đối số từ dòng lệnh đã được đặt chưa?
- 12. Kiểm tra xem giá trị đã tồn tại trong danh sách từ điển chưa?
- 13. Cách kiểm tra Backbone.history đã được bắt đầu chưa?
- 14. Cách kiểm tra xem tài liệu đã sẵn sàng chưa?
- 15. NSDictionary - Cần kiểm tra xem từ điển có chứa cặp khóa-giá trị hay không
- 16. Thuật toán nào nhanh hơn để kiểm tra xem một bit đã được đặt chưa?
- 17. Làm cách nào để kiểm tra xem biến Smarty đã được gán chưa?
- 18. Kiểm tra xem giá trị ComboBox có được chọn không
- 19. C# Cổng nối tiếp Kiểm tra xem thiết bị đã được kết nối chưa
- 20. Làm cách nào để kiểm tra xem thiết bị USB đã được cắm chưa?
- 21. Cách xác nhận thư đã được gửi hay chưa?
- 22. JavaScript - cách kiểm tra xem sự kiện đã được thêm
- 23. kiểm tra xem tải xuống đã hoàn tất chưa
- 24. kiểm tra xem biến môi trường đã được thiết lập
- 25. Cách kiểm tra xem virtualenv đã được tạo bằng '--no-site-packages' chưa?
- 26. cách kiểm tra xem BLAS và ATLAS đã được cài đặt
- 27. Cách kiểm tra xem giá trị có được chọn trong tham số nhiều giá trị
- 28. Làm thế nào để kiểm tra xem hình ảnh đã được tải bằng Javascript chưa?
- 29. Làm cách nào để kiểm tra xem session_start đã được nhập chưa?
- 30. Làm cách nào để kiểm tra xem biến đã được khởi tạo chưa
Giao diện đồ họa trong nội bộ gọi là 'setValue' vì vậy không có cách nào – Archer