Sự khác nhau giữa các chức năng khung Java getContentPane()
và getRootPane()
là gì? Ngoài ra điều gì sẽ xảy ra khi chúng tôi đặt JButton làm Mặc định.Sự khác nhau giữa JFrame.getContentPane() và JFrame.getRootPane() là gì?
Trả lời
Trong khi sử dụng container cấp cao nhất trong AWT hoặc Swing, khung gốc là khung cơ bản.
Các hệ thống phân cấp như sau:
- Glass Pane: Nói chung ẩn, thiết lập để có thể nhìn thấy sẽ hiển thị một trang bìa kính so với khu vực cửa sổ gốc.
- Ngăn xếp lớp: Chứa Menubar và Ngăn nội dung
- Ngăn nội dung: Ngăn bố cục cơ bản trong đó các thành phần thực sự được đặt.
Gọi phương thức getRootPane()
sẽ trả về tham chiếu đến khung cơ sở, trong khi gọi phương thức getContentPane()
sẽ giúp bạn tham chiếu đến Ngăn nội dung. Nó được hiển thị theo mặc định.
Bằng cách đặt mặc định Jbutton, bạn chính xác đang cố gắng làm gì?
venomrld, Thanx tôi đã có ans của tôi những gì tôi muốn ..... bt có một lần nữa một cửa kính mà tôi không thể hiểu nhiều bạn có thể cho tôi biết abt Glass Pane? –
root.setDefaultButton() –
Một cách sử dụng cụ thể của glasspane là thêm hoặc vẽ một khu vực cụ thể trên Khung đã chứa các thành phần. Đặc biệt hữu ích nếu bạn cần thêm các thành phần hoặc vẽ lại mà không làm phiền bố cục hiện tại. – venomrld
từ documentation:
getContentPane() thường được thực hiện như thế này:
public Container getContentPane() { return getRootPane().getContentPane(); }
Nó được mô tả tốt trong Swing hướng dẫn (here).
Thanx Michal, thông tin bạn vừa đưa ra thực sự rất hữu ích cho bt tôi muốn biết họ đại diện cho cái gì ??? –
Ngăn gốc, như tên của nó, là gốc của khung/cửa sổ/hộp thoại.
Nó chứa als các thành phần khác của thành phần cấp cao nhất này. ngăn nội dung là một trong bốn phần của ngăn gốc và chứa các thành phần. các phần khác của ngăn gốc là ngăn kính, ngăn xếp lớp và thanh menu tùy chọn.
các hướng dẫn tại oracle giải thích điều này thực sự tốt: http://download.oracle.com/javase/tutorial/uiswing/components/rootpane.html
- 1. Sự khác nhau giữa WPF và WinForms là gì?
- 2. Sự khác nhau giữa JavaScript và Java là gì?
- 3. Sự khác nhau giữa ODBC và OleDB là gì?
- 4. Sự khác nhau giữa SGML và XML là gì?
- 5. Sự khác nhau giữa DefaultSelenium và RemoteWebDriver là gì?
- 6. Sự khác nhau giữa RMI và Corba là gì?
- 7. Sự khác nhau giữa scgi và wsgi là gì?
- 8. Sự khác nhau giữa wsHttpBinding và ws2007HttpBinding là gì?
- 9. Sự khác nhau giữa Pingback và Trackback là gì?
- 10. Trong Python, sự khác nhau giữa ".append()" và "+ = []" là gì?
- 11. Sự khác nhau giữa AxInterop và Interop là gì?
- 12. Sự khác nhau giữa CellClick và CellMouseClick là gì?
- 13. Sự khác nhau giữa .bashrc, .bash_profile và .environment là gì?
- 14. Sự khác nhau giữa JSP và Facelets là gì?
- 15. Sự khác nhau giữa hg quên và hg là gì?
- 16. Sự khác nhau giữa GDI và GDI + là gì?
- 17. Sự khác nhau giữa đá quý và plugin là gì?
- 18. Sự khác nhau giữa metaClass.methods và metaClass.metaMethods là gì?
- 19. Sự khác nhau giữa kEND và $ end là gì?
- 20. Sự khác nhau giữa java và jsp là gì?
- 21. Sự khác nhau giữa Application.Run() và Form.ShowDialog() là gì?
- 22. Sự khác nhau giữa -0 và 0 là gì?
- 23. Sự khác nhau giữa HTTP 1.0 và 1.1 là gì?
- 24. Sự khác nhau giữa java.lang.Math và java.lang.StrictMath là gì?
- 25. Sự khác nhau giữa " " và "" là gì?
- 26. Sự khác nhau giữa Spring BeanFactoryAware và ApplicationContextAware là gì?
- 27. sự khác nhau giữa SCRIPT_FILENAME và SCRIPT_NAME là gì?
- 28. Sự khác nhau giữa JSP và JSTL là gì?
- 29. Sự khác nhau giữa JSF và Facelets là gì?
- 30. Sự khác nhau giữa javax.inject.Inject và com.google.inject.Inject là gì?
Bạn có câu trả lời tôi thấy. Hãy nhớ rằng, may mắn thay, hầu hết thời gian bạn sẽ không cần phải nhận được những Panes. Ví dụ, trong phiên bản trước của Java (Ai đó biết phiên bản chính xác?) Bạn cần thêm các thành phần của JFrame.getRootPane (...) bây giờ chỉ cần JFrame.Add (...) là đủ. – Mohayemin