[英]How do I get the bounds of a JPanel centered in another JPanel?
我有一個帶有邊框布局的主面板,中間包含另一個面板。 因為我想在居中的面板內繪畫,所以必須確定其邊界。
panel_main.add(panel, BorderLayout.CENTER);
我想將邊界保存在這樣的矩形中:
Rectangle bounding = new Rectangle
(panel.getX(), panel.getY(), panel.getWidth(), panel.getHeight());
但是每個參數似乎都是0。那么,如何確定面板的邊界呢? 我可以代替BorderLayout的邊界嗎?
但是每個參數似乎都是0。
創建時,所有Swing組件的大小均為(0,0)。 僅當包裝好框架並使其可見時,才為組件指定尺寸。
因為我想在居中的面板內繪畫,所以必須確定其邊界。
您覆蓋面板的paintComponent()
方法。 然后,您可以使用getSize()
方法來控制繪畫的位置。
您還需要覆蓋面板的getPreferredSize()
方法,以便布局管理器可以正確包裝()框架。
閱讀Swing教程“ 自定義繪畫”中的這一部分,以獲取更多信息和工作示例,以開始使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.