마침내 주판에서 카운터를 그릴 때 제목에 Java 코드에 문제가 있습니다. 코드가 컴파일되고 실행되지만 카운터는 맨 위 행 대신 첫 번째 행에서 시작하여 그려집니다. 이 카운터 위에는 카운터가 각 열에 쌓이지 않고 하나의 카운터가 나타나고 올바른 단추를 눌렀을 때 열이 위아래로 이동하지만 카운터는 오른쪽 클릭으로 클릭하거나 빼기로 추가해야합니다.Java Abacus, for 루프가 내 카운터를 그리는 데 문제가 있습니다.
나는 이것에 대해 두 시간을 보냈다. 나는 어리석은 것이지만 내 뇌는 작동을 멈췄다. 나는 어떤 해결책을 생각하지 않는다.
어쨌든, 여기 내 코드입니다.
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);
}
}
}
}
이의 당신이 원하는 방법 포맷되지 않은 경우 잘하면 거기에 누군가가 올바른 방향으로 날 지점 미안 수 있습니다. 이것은 내 첫 번째 질문 게시물이며 나는 눈을 쉽게 만들려고 노력했다. 내 의견으로 당
각 상자에 새로운 사각형을 그리는 것이 아니라 일련의 가로 및 세로 선으로 그리드를 그리는 것이 더 쉬울 것입니다. – Tharwen
그건 너무 많이 StackOverflow 코드입니다. 정확히 무엇이 잘못되었는지, 예상 한 것과 몇 줄의 코드를 제공해야합니다. 오류 코드와 직접 관련이있는 코드를 사용하는 것이 좋습니다. – MarioDS
또한 왜 main() 함수가 두 개입니까? – Tharwen