Vì Canvas3D không có khả năng thay đổi kích thước động với khung chính, tôi muốn có thể theo dõi thời điểm người dùng đổi kích thước cửa sổ và sau đó thay đổi kích thước theo cách thủ công riêng tôi. (Nếu điều này kết thúc lên Canvas3D, như một số tài liệu gợi ý, tôi sẽ chỉ đơn giản là tiêu diệt và tạo lại nó khi người dùng thay đổi kích thước cửa sổ của họ). Một phần của quy trình này liên quan đến việc có thể cho biết chính xác tầm quan trọng của bảng điều khiển container.Tìm chiều cao/chiều rộng "thực" của đối tượng Swing/AWT
Hai phương pháp tôi đã cố gắng:
panel.getHeight(); panel.getPreferredSize().height;
Đừng dường như không báo cáo chính xác điều: getHeight()
là luôn bằng không, và getPreferredSize()
số lợi nhuận mà không thực sự có bất cứ điều gì để làm với kích thước thực tế của bảng điều khiển.
Bất kỳ ý tưởng nào?
Chỉnh sửa: Vì vậy, tôi đã gỡ lỗi cho đối tượng bảng điều khiển và kiểm tra thủ công các thuộc tính không đối tượng và tôi không thấy bất kỳ điều gì giống với chiều rộng/chiều cao. Cấp, có những đối tượng phụ mà tôi không nhìn vào. Ngoài ra, có lẽ cửa sổ phải được nhìn thấy (nó không phải là, tại thời điểm tôi đang interfacing đối tượng) khi tôi truy vấn chiều cao/đối tượng?
Chỉnh sửa 2: Vì vậy, các lớp Swing là lớp con của các lớp AWT, vì vậy tôi tưởng tượng nếu bạn có thể tìm chiều cao/chiều rộng của chúng, cách tiếp cận sẽ tổng quát. Tôi đã sửa đổi tiêu đề cho phù hợp.