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


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


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);
}
}