DrJava를 사용하여 프로그래밍 중입니다. 이 코드는 모두 GUI에서 수행 된 작업 섹션에 속합니다.e.getSource Checkers 게임의 버튼이 작동하지 않습니다. GUI
2 개의 e.getSource 버튼을 제외하고 여기에있는 모든 것이 올바르게 작동합니다.
2 문장은 if (e.getSource()== b[a-9]
) 및 if (e.getSource()== b[a-7]
)입니다.
모든 버튼에 작업 수신기를 추가했습니다.
버튼을 클릭하면 아무런 작업도 수행되지 않습니다.
작동하는지 확인하기 위해 System.out.println을 넣었지만 한번 클릭하면 화면에 인쇄되지 않습니다.
분명히 그들은 작동하지 않는다는 것을 의미하지만 그 이유는 무엇입니까? 전체 코드를 시험해보고 싶다면 그냥 물어 보면됩니다. 이것은 11 학년을위한 나의 CPT입니다.
if(player==1)
{
for(int a=41; a<64; a++)
{
if (e.getSource()==b[a])
{
board();
b[a].setBackground(new Color(0,255,0));
if(!b[a].getText().equals(b[a-9].getText())&&!b[a].getText().equals(b[a-7].getText()))
{
b[a-9].setBackground(new Color(0,255,0));
b[a-7].setBackground(new Color(0,255,0));
//THIS IS NOT WORKING____________________________________
if (e.getSource()== b[a-9])
{
System.out.println("NOT WORKING");
b[a-9].setText(piece1);
b[a].setText("");
board();
player2();
player=2;
}
if (e.getSource()== b[a-7])
{
System.out.println("NOT WORKING");
b[a-7].setText(piece1);
b[a].setText("");
board();
player2();
player=2;
}
//___________________________________________________________
if(e.getSource()==b[47])
{
board();
b[47].setBackground(new Color(0,255,0));
if(!b[47].getText().equals(b[47-9].getText()))
{
b[47-9].setBackground(new Color(0,255,0));
}
}
if(e.getSource()==b[48])
{
board();
b[48].setBackground(new Color(0,255,0));
if(!b[48].getText().equals(b[48-7].getText()))
{
b[48-9].setBackground(new Color(0,255,0));
}
}
}
}
}
}
고맙습니다. 해당 조건에 해당하면이 체크가 그런
if (e.getSource()==b[a])
:
최소한의 실행 가능한 예제를 제공해야합니다. 인쇄물이 증명하는 것은 이벤트의 소스가 다양한 b [] 요소에 의해 참조되는 것과 같지 않지만 리스너를 설정하고 b []를 초기화하는 코드가 없기 때문에 도움이되지 않는다는 것입니다. –
전체 코드를 보낼 수 있습니다. 그게 도움이된다면? – Adenloolfly