第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

JComponent 調(diào)整大小時(shí)消失?

JComponent 調(diào)整大小時(shí)消失?

皈依舞 2023-12-30 15:54:42
這里我有我的程序,但是,當(dāng)我嘗試調(diào)整面板大小時(shí),我的文本就消失了?此外,如何在文本下繪制一條粗綠線,即使在調(diào)整大小時(shí)它也會保留在文本下方,我很無能?import javax.swing.*;import java.awt.*;import java.awt.geom.AffineTransform;public class Groovy{    public static void main(String[] args) {        EventQueue.invokeLater(new Runnable() {            @Override            public void run() {                JFrame frame= new JFrame("Shearing Word Demo");                frame.setResizable(true);                frame.setSize(new Dimension(500,250));                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);                Toolkit it=Toolkit.getDefaultToolkit();                Dimension d=it.getScreenSize();                int w=frame.getWidth(), h=frame.getHeight();                frame.setLocation(d.width/2-w/2, d.height/2-h/2);                frame.add(new JComponent(){                    @Override public void paintComponent(Graphics g){                        Graphics2D g2=(Graphics2D) g;                        g2.setColor(Color.magenta);                        g2.setFont(new Font("Comic Sans MS",Font.BOLD,44));                        g2.drawString("Feeling Groovy!", 110,125 );                    }                });                frame.setVisible(true);            }        });    }}
查看完整描述

1 回答

?
夢里花落0921

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊

我怎樣才能在我的文本下繪制一條粗綠線,即使在調(diào)整大小時(shí)它也會保留在文本下方,我

如果您進(jìn)行自定義繪畫,那么您需要遵循的基本步驟如下:

  1. 使用 getFonTMetrics() 方法獲取 Graphics 對象的 FontMetrics

  2. 使用 getStringBounds(...) 方法獲取文本矩形

  3. 使用 Graphics2D 對象的 setStroke(...) 方法設(shè)置要繪制的線條的粗細(xì)

  4. 使用 Graphics2D 對象的 drawLine(...) 方法根據(jù)文本位置和字符串邊界中的 Rectangle 信息繪制線條

顯示文本的一個(gè)更簡單的解決方案是使用JLabel.?然后您可以設(shè)置標(biāo)簽的邊框。

請注意,使用 JComponent 進(jìn)行自定義繪制時(shí),您還負(fù)責(zé)清除組件的背景。所以該方法中的第一幅畫應(yīng)該是:

g2.setColor(?getBackground()?);
g2.fillRect(0,?0,?getWidth(),?getHeight());

大多數(shù)人使用 JPanel 進(jìn)行自定義繪畫,那么您可以使用:

super.paintComponent(g);

以確保背景已清除。


查看完整回答
反對 回復(fù) 2023-12-30
  • 1 回答
  • 0 關(guān)注
  • 162 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號