在Java中,如何绘制两种不同颜色的矩形?

在Java中,如何绘制两种不同颜色的矩形?,java,colors,jcomponent,Java,Colors,Jcomponent,我找了这个,但到处都找不到。我有一个RoundedRectangle2D组件,它代表我在游戏中的健康栏,当我调用subtractHealth方法时,我希望它按比例将矩形的一部分涂成红色,覆盖绿色,使其看起来像健康栏失去了健康。我以前有两个矩形,一个是绿色的,一个是红色的,一个在另一个后面,但是有人告诉我应该改变这个,我同意这会减少一点内存使用,所以有人知道怎么做吗?你可以使用GradientPaint类 您可以使用GradientPaint类 拥有两个矩形似乎是一个不错的选择。我认为矩形就像你得

我找了这个,但到处都找不到。我有一个RoundedRectangle2D组件,它代表我在游戏中的健康栏,当我调用subtractHealth方法时,我希望它按比例将矩形的一部分涂成红色,覆盖绿色,使其看起来像健康栏失去了健康。我以前有两个矩形,一个是绿色的,一个是红色的,一个在另一个后面,但是有人告诉我应该改变这个,我同意这会减少一点内存使用,所以有人知道怎么做吗?

你可以使用GradientPaint类

您可以使用GradientPaint类

拥有两个矩形似乎是一个不错的选择。我认为矩形就像你得到的一样基本,不确定一个能够自己画两种不同颜色的矩形与两个矩形有什么不同,或者使用更少的内存你被告知要把它改成什么?正如其他人所说,你应该坚持你以前的计划。拥有两个矩形似乎是一个不错的选择。我认为矩形就像你得到的一样基本,不确定一个能够自己画两种不同颜色的矩形与两个矩形会有什么不同,或者使用更少的记忆你被告知要把它改成什么?正如其他人所说,你应该坚持你以前的计划。+1可能不会占用更少的内存,但肯定会看起来很好(我不认为一个矩形内存有多大问题)@dann.dev这显示了左/右卷,使用半透明的
GradientPaint
,具有更坚实的边框。很好(如果我自己这么说的话)看起来不错,我确实注意到它偶尔会有点撕裂,不知道这是绘画方法还是组成部分?它说渐变在两种颜色之间的中间部分逐渐改变颜色,这是真的吗?或者是否有可能使这种改变成为绝对的?+1,可能不会占用较少的内存,但肯定会很好看(我不认为一个长方形的内存有什么好争论的)@dann.dev这显示了左/右音量,使用半透明的
GradientPaint
,边框更坚实。非常好(如果我自己这么说的话)。;)看起来不错,但我确实注意到它不时会撕裂,不知道是绘画方法还是组成部分?它说渐变在两种颜色之间的中间部分逐渐改变颜色,这是真的和/或有可能使这种改变成为绝对的吗?