Java - 颜色矩形
问题描述:
import java.awt.Graphics;
import javax.swing.JPanel;
import java.awt.Color;
public class DrawPanel extends JPanel {
public void paintComponent(Graphics g) {
int height = getHeight();
int width = getWidth();
g.drawRect(350, 510, 110, 170);
g.drawRect(470, 510, 110, 170);
g.drawRect(590, 510, 110, 170);
g.drawRect(710, 510, 110, 170);
g.drawRect(830, 510, 110, 170);
g.drawRect(350, 30, 110, 170);
g.drawRect(470, 30, 110, 170);
g.drawRect(590, 30, 110, 170);
g.drawRect(710, 30, 110, 170);
g.drawRect(830, 30, 110, 170);
g.setColor(Color.RED);
g.drawRect(110, 450, 110, 170);
g.drawRect(110, 60, 110, 170);
}
}
我需要每个矩形(我的意思是在里面的矩形),但与这个g.setColor(Color.RED);我只能为Rectanlge的外部部分着色Java - 颜色矩形
答
drawRect()
从JavaDocs
绘制指定矩形的轮廓。矩形的左边和右边在x和x +宽度处。顶部和底部边缘在y和y +高度。矩形是使用图形上下文的当前颜色绘制的。
这就是为什么你需要使用fillRect
:
填充指定的矩形。矩形的左右边缘位于x和x +宽度-1处。顶部和底部边缘位于y和y +高度-1处。所得矩形覆盖宽度像素宽高像素高的区域。该矩形使用图形上下文的当前颜色填充。
从你最后的评论:And what about if i want to have the half rectangle blue and the rest red? What should i do then ?
绘制矩形2,一端在另一个开始,这样的:
g.setColor(Color.BLUE);
g.fillRect(50, 50, 50, 50);
g.setColor(Color.RED);
g.fillRect(100, 50, 50, 50);
我没有测试上面的代码,但你这个想法:)
使用g.fillRect()Luke –
我认为你应该在谷歌环视这个答案 - 尝试'填充矩形java.awt' - 有几个答案,并提出了更多的细节可以继续帮助你。在这里提出一个新问题可能是最好的,因为一旦你没有找到谷歌的东西。 –
Thnks家伙。我发现 !!如果我想要半长方形的蓝色和其余的红色,那么呢?那我该怎么办? – Steve21