Java RoundRect不适用于JFrame

Java RoundRect不适用于JFrame,java,swing,Java,Swing,我有一个JFrame,其中包含一个扩展JPanel的类,该类通过BorderLayout.CENTER添加到JFrame中。在paintComponent方法中的JPanel子类中,我绘制了一个与JFrame尺寸相同的fillRoundRect。当我运行它时,roundRect的底部和右侧部分被切断 在主要课程中,我有: SwingUtilities.invokeLater(()->{ JFrame=新JFrame(); PlayingField PlayingField=new Playing

我有一个JFrame,其中包含一个扩展JPanel的类,该类通过BorderLayout.CENTER添加到JFrame中。在paintComponent方法中的JPanel子类中,我绘制了一个与JFrame尺寸相同的fillRoundRect。当我运行它时,roundRect的底部和右侧部分被切断

在主要课程中,我有:

SwingUtilities.invokeLater(()->{
JFrame=新JFrame();
PlayingField PlayingField=new PlayingField();//JPanel的子类
frame.add(playingField,BorderLayout.CENTER);
框架。设置尺寸(500500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
});
在PlayingField我有:

@覆盖
受保护组件(图形g){
超级组件(g);
g、 设置颜色(颜色为黑色);
g、 fillRoundRect(0,0500500,50,50);
}
我希望roundRect与JFrame完美匹配,使roundRect的边缘与JFrame的边缘接触

我正在绘制一个与JFrame尺寸相同的fillRoundRect

您不应使用与框架相同的尺寸。框架包括装饰(标题栏和边框)

此外,您不应该硬编码值。如果调整框架的大小,您的绘画将如何工作

相反,您应该使用面板的实际大小:

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

现在,根据面板的大小,绘画是动态的。

注意以后的问题。。为了更快地获得更好的帮助,请添加或。