亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

RoundRect 不適合 JFrame

RoundRect 不適合 JFrame

隔江千里 2023-10-19 21:25:40
我有一個 JFrame,其中有一個擴展 JPanel 的類,并使用 BorderLayout.CENTER 添加到其中。在 JPanel 子類中的 PaintComponent 方法中,我正在繪制一個與 JFrame 尺寸相同的 fillRoundRect。當我運行它時,roundRect 的底部和右側部分被切斷。在主課中我有這個:SwingUtilities.invokeLater(() -> {    JFrame frame = new JFrame();    PlayingField playingField = new PlayingField(); // subclass of JPanel    frame.add(playingField, BorderLayout.CENTER);    frame.setSize(500, 500);    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    frame.setVisible(true);});在 PlayingField 中我有:@Overrideprotected void paintComponent(Graphics g) {    super.paintComponent(g);    g.setColor(Color.BLACK);    g.fillRoundRect(0, 0, 500, 500, 50, 50);}我希望 roundRect 完美地適合 JFrame,并且 roundRect 的邊緣接觸 JFrame 的邊緣。
查看完整描述

1 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

我正在繪制一個與 JFrame 尺寸相同的 fillRoundRect。

您不應該使用與框架相同的尺寸??蚣馨ㄑb飾(標題欄和邊框)。

另外,您不應該對值進行硬編碼。如果調整框架大小,您的繪畫將如何工作?

相反,您應該使用面板的實際大?。?/p>

g.fillRoundRect(0, 0, getWidth(), getHeight(), 50, 50);

現在,繪畫是根據面板的大小動態變化的。



查看完整回答
反對 回復 2023-10-19
  • 1 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號