簡體   English   中英

如何獲得以另一個JPanel為中心的JPanel的邊界?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM