2011-09-20 25 views
6

Chương trình của tôi tạo biểu đồ chuỗi thời gian bằng JFreeChart (qua Swing ChartPanel) và cho phép người dùng phóng to nó (sử dụng tính năng thu phóng chuẩn của ChartPanel). Chương trình có các tham số (chẳng hạn như làm mịn) có thể được tinh chỉnh khi chạy; nếu được tinh chỉnh, biểu đồ được thay thế bằng phương thức "setChart()" của ChartPanel. Khung thời gian, tuy nhiên, luôn luôn giữ nguyên trên tất cả các chỉnh sửa.JFreeChart: Giữ nguyên vị trí zoom khi cập nhật biểu đồ

Khi "setChart()" được gọi, vị trí zoom được đặt lại sao cho toàn bộ biểu đồ được hiển thị. Điều tôi muốn bây giờ là cho vị trí zoom được giữ nguyên sau cuộc gọi đến "setChart()", để người dùng có thể quan sát hiệu ứng tinh chỉnh trực tiếp ở bất kỳ mức thu phóng mong muốn nào. Làm thế nào là có thể?

+0

@ Maximilian xin chào, tôi sẽ rất quan tâm đến cách bạn quản lý để bảo vệ zoom như tôi giữ trở lại vị trí ban đầu hoặc phóng to vào trung tâm .. bạn có thể tư vấn không? – Ingram

Trả lời

6

ChartPanel có phương pháp getScaleX()getScaleY() có thể được sử dụng để lưu trữ trạng thái thu phóng hiện tại để phục hồi sau bằng một trong các phương pháp thu phóng. Có một ví dụ liên quan here.

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