Làm cách nào để có được khung hoạt động (có tiêu điểm) (JInternalFrame) nằm trong JDesktopPane? Tôi cần nó cho cuốn sổ tay MDI của tôi (không phải ai cũng dùng nó, chỉ là một dự án đào tạo). Nhìn vào api, tôi chỉ thấy các chức năng để có được tất cả các JInternalFrames, không hoạt động.JDesktopPane - làm thế nào để có được khung hoạt động
Trả lời
Sử dụng phương pháp JDekstopPane.getSelectedFrame() (Từ doc:. Hiện JInternalFrame tích cực trong JDesktopPane này, hoặc null nếu không JInternalFrame hiện đang hoạt động) hoặc JDesktopPane.getAllFrames()
để có được danh sách tất cả JInternalFrames
đang hiển thị trong máy tính để bàn và kiểm tra isSelected()
phương pháp.
Tạo List<JInternalFrame>
và kiểm tra isSelected()
khi bạn lặp lại mặc dù nó.
Phụ lục: Xem thêm điều này example sử dụng Action
để chọn khung nội bộ từ trình đơn.
Lưu ý rằng [JDesktopPane.getAllFrames()] (http://docs.oracle.com/javase/7/docs/api/javax/swing/JDesktopPane.html#getAllFrames()) trả về một mảng, vì vậy bạn có thể cũng chỉ lặp lại mảng (thay vì sử dụng danh sách). –
-1 để phát minh lại bánh xe. Hoặc getSelectedFrame() hoặc getAllFrames() sẽ được sử dụng. – camickr
Đó là cảnh sát công bằng. – trashgod
Bạn đã xem hướng dẫn Java có tiêu đề How to Use Internal Frames chưa? Trong mã của bạn, bạn cần một số InternalFrameListener
(API) (Tutorial) và nghe để kích hoạt/hủy kích hoạt sự kiện. Kích hoạt có nghĩa là khung bên trong được đưa lên đầu; ngừng hoạt động có nghĩa là nó không còn ở trên cùng nữa. Vì JDesktopPane
mở rộng JLayeredPane
, bạn cũng có thể đặt thứ tự z thành phần được thêm vào đó.
Không lặp qua tất cả các ô - sử dụng sự kiện.
Nếu vì một số lý do bạn thích thăm dò ý kiến giao diện người dùng của mình thay vì sử dụng phương pháp hướng sự kiện, bạn có thể gọi getSelectedFrame
trả về số JInternalFrame
hoạt động. Tôi không chắc tại sao không ai khác đề cập đến nó.
+1 cho khớp nối lỏng lẻo. Bạn có thể xây dựng? – trashgod
@trashgod nó khá đơn giản, vì 'JInternalFrames' được tạo ra một' InternalFrameListener' được gắn vào mỗi cái theo dõi khung nào đang hoạt động và cái nào thì không. Tôi đã cập nhật câu trả lời của mình một chút trong trường hợp poster không quan tâm đến các sự kiện - 'JDesktopPane' có phương thức' getSelectedFrame'. – Paul
> Trong mã của bạn, bạn cần một InternalFrameListener (API) (Hướng dẫn) và lắng nghe để kích hoạt/hủy kích hoạt các sự kiện. > Kích hoạt có nghĩa là khung bên trong được đưa lên đầu; ngừng hoạt động có nghĩa là nó không còn ở trên cùng nữa. > Vì JDesktopPane mở rộng JLayeredPane, bạn cũng có thể đặt thứ tự z thành phần được thêm vào nó. " Nói cách khác, một mẹo khác về" Làm thế nào để làm cho mã của bạn khó hiểu hơn và ít đơn giản hơn ". Mã của tôi quá đơn giản đến nỗi thậm chí nếu bạn chưa bao giờ sử dụng Java, bạn sẽ hiểu được nó –
- 1. Làm thế nào để kích hoạt khung nền của Bootstrap?
- 2. Làm thế nào để getchar() hoạt động?
- 3. Làm thế nào để .insert hoạt động?
- 4. Làm cách nào để tôi có được khung thực thể để hoạt động với các cờ lưu trữ?
- 5. Làm thế nào để .ToUpper() hoạt động?
- 6. Làm thế nào để `isInstanceOf` hoạt động?
- 7. Làm thế nào để js.erb hoạt động
- 8. Làm thế nào để xác định phương pháp [khung vuông] trong Ruby hoạt động?
- 9. Làm thế nào để nhập khẩu Scala hoạt động trong IntelliJ IDEA với khung Play?
- 10. Làm thế nào để một khuôn khổ mocking hoạt động?
- 11. Làm thế nào để thay đổi hình nền mặc định jdesktoppane?
- 12. Làm thế nào để có được kết quả từ một IntentService trở lại một hoạt động?
- 13. Làm thế nào để có được thời gian hoạt động UNIX trong Java?
- 14. Làm thế nào để có được tiêu đề của cửa sổ đang hoạt động với AutoHotKey?
- 15. Làm thế nào để có được Anchor Links hoạt động trong Jquery Mobile?
- 16. Làm thế nào để có được "trình soạn thảo hoạt động" trong plugin Eclipse?
- 17. Làm thế nào để "imagettfbbox()" trong PHP hoạt động?
- 18. Làm thế nào để viết idempotent hoạt động ghi?
- 19. Làm cách nào để mở một JInternalFrame tập trung vào một JDesktopPane?
- 20. Làm thế nào để làm cho RibbonApplicationMenuBar không hoạt động/hoạt động?
- 21. Làm thế nào để có được các nút khởi động để hiển thị trạng thái hoạt động?
- 22. Làm thế nào để có được UIView khung nguồn gốc và kích thước trong khi hình ảnh động
- 23. Làm thế nào để làm cho javascript này hoạt động?
- 24. Làm thế nào để có một khung lớn vô cùng?
- 25. Làm thế nào Hibernate.initialize() hoạt động
- 26. Làm thế nào để đệm PCap unix hoạt động?
- 27. Móc cửa sổ - Làm thế nào để chúng hoạt động?
- 28. Làm thế nào để getSystemService() hoạt động chính xác?
- 29. Làm thế nào để __contains__ hoạt động cho ndarrays?
- 30. Làm thế nào để -performSelector: withObject: afterDelay: hoạt động?
Cảm ơn. Bạn thực sự đã giúp tôi. Tôi đã tìm một cái gì đó như getActiveFrame hoặc getFocusedFram và bỏ qua getSelectedFrame;) –
+1 để sử dụng API. – camickr