正如标题所说,当最终在我的算盘上绘制计数器时,我的 Java 代码遇到了问题。代码编译并运行,但计数器是从第一行而不是第一行开始绘制的。最重要的是,计数器不会在每一列中堆叠,一个计数器会出现并在列上下移动,具体取决于单击哪个按钮是正确的,但计数器应该在我左键单击时添加或在我右键单击时减去。
我在这上面花了几个小时,我确信这很愚蠢,但我的大脑已经停止工作,我想不出任何解决方案。
无论如何,这是我的代码。
AbacusPanel.java
public void paint(Graphics g)
{
g.setColor(Color.gray);
g.fillRect(0,0,getWidth(), getHeight());
g.setColor(Color.black);
Graphics2D g2 = (Graphics2D)g;
// we'll use Graphics2D for it's "draw" method -
// neater than the Graphics "drawRect" suppled
// (which you could also use)
for (int i = 0;i<numCols;i++)
{
for(int j = 0;j<numRows;j++)
{
g2.draw(getRect(i,j));
}
}
for(int thisCol= 0; thisCol < numCols; thisCol++)
{
for(int thisRow = 0; thisRow < numRows; thisRow++)
{
for(int counters=0; counters<=myAbacus.getNumCounters(thisCol); counters++)
{
Rectangle r2 = getRect(thisCol,myAbacus.getNumCounters(thisCol));
g2.setColor(Color.red);
g2.fillOval(r2.x, r2.y, r2.width, r2.height);
}
}
}
}
希望有人可以为我指出正确的方向,如果其中任何内容的格式不符合您的要求,我们深表歉意。这是我的第一个问题帖子,我试图让它变得容易。