2
我正在嘗試使每次按下按鈕時更新的JLabel網格。每個按鈕(北,南,東,西)都將圖像從一個JLabel移動到網格上的另一個位置。我一遍又一遍地編寫並重新編寫了代碼,但仍然無法正確更新。爲什麼ImageIcon有時而不是其他人?我的邏輯在哪裏有缺陷?爲什麼我的JLabel網格無法正常工作?
而且,我也看到了一堆別人的質疑,這樣對這個問題,但沒有人幫我...
任何和所有幫助將大大apreciated。
ImageIcon man;
ImageIcon grass;
public int xPosition=0;
public int yPosition=0;
class ButtonListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent evt) {
if(evt.getActionCommand() == Actions.east.name()){
System.out.println("east!");
if(yPosition<4){
xPosition++;
}
}
if(evt.getActionCommand() == Actions.west.name()){
System.out.println("west!");
if(yPosition>0){
xPosition--;
}
}
if(evt.getActionCommand() == Actions.north.name()){
System.out.println("north!");
if(xPosition>0){
yPosition--;
}
}
if(evt.getActionCommand() == Actions.south.name()){
System.out.println("south!");
if(xPosition<4){
yPosition++;
}
}
URL imageMan = getClass().getResource("man.png");
man= new ImageIcon(imageMan);
URL imageGrass = getClass().getResource("grass.jpg");
grass= new ImageIcon(imageGrass);
int row=0;
if(row==0){
while(row<=5){
if(yPosition == row){
for(int i=0;i<=5;i++){
if(i==xPosition){
points[i][row].setIcon(man);
}
else{
points[i][row].setIcon(grass);
}
}
}
else{
for(int i=0;i<=5;i++){
points[i][row].setIcon(grass);
}
row++;
}
}
}
row=0;
System.out.println("codinates: ("+xPosition+","+yPosition+")");
}
}
這裏是我想要的結果是一個屏幕截圖,男人可以使用按鈕在屏幕上移動。
你可以上傳你想實現 – Madhan
肯定的事情是什麼的截圖!我只是把它添加到我的問題。 @Madhan – MooseMan55