簡體   English   中英

這些圖形繪制在UI的頂部,以Java swing的形式出現,

[英]The graphics is drawing on top of the UI, in java swing,

當我在paint()方法內的Jpanel上繪制時 (通過繼承JPanel)
圖形出現在我的按鈕和其他UI組件的頂部,
在不可見的組件中,那么如何在圖形上方繪制組件呢?

首先看一下在AWT和Swing中 執行自定義繪畫繪畫

繪畫方法
適用於AWT輕量級組件的規則也適用於Swing組件-例如,在渲染時將調用paint() -除了Swing進一步將paint()調用分解為三個單獨的方法之外,這三個方法在以下順序:

protected void paintComponent(Graphics g)
protected void paintBorder(Graphics g)
protected void paintChildren(Graphics g)

Swing程序應該重寫paintComponent()而不是重寫paint() 盡管該API允許這樣做,但是通常沒有理由覆蓋paintBorder()paintComponents() (如果這樣做,請確保您知道自己在做什么!)。 這種分解使程序更容易僅覆蓋需要擴展的繪畫部分。 例如,這解決了前面提到的AWT問題,其中調用super.paint()的失敗阻止了任何輕量級子項的出現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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