G_Jeter 2025-10-13 23:19 采纳率: 100%
浏览 14
已结题

这个矩形为什么会这样?

本来想要在700x700的窗口中间绘制一个650x650的矩形,本该四周等距,都是25,但这个运行结果很明显不符合预期,有人可以解释下吗?提供下解决方法,谢谢啦!

img

img

  • 写回答

6条回答 默认 最新

  • QiTinna 2025-10-14 08:50
    关注
    
    import javax.swing.*;
    import java.awt.*;
    
    public class Demo {
        public static void main(String[] args) {
            JFrame jf = new JFrame();
            jf.add(new MyPanel());
            jf.setSize(700, 700); // setSize 会自动计算边框,让内容区域更合理
            jf.setLocation(25, 25);
            jf.setVisible(true);
        }
    }
    
    class MyPanel extends JPanel {
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            int panelWidth = getWidth();
            int panelHeight = getHeight();
            int rectX = 25;
            int rectY = 25;
            int rectWidth = panelWidth - 50;
            int rectHeight = panelHeight - 50;
            g.fillRect(rectX, rectY, rectWidth, rectHeight);
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 10月13日