我之前发布过一个关于此的问题,但解决方案从未奏效,现在它处于不同的情况下。我正在做一个"便士音调"程序,当"确认"按下按钮,一个随机数字将指示电路板上的哪个点(电路板上有图像图标填充)"便士"将落下,并在此过程中删除用于占用所选空间的图像图标。
我设置了一个GridBagLayout来限制每个图标,我的按钮删除所选的位置没有问题,但它找不到一种方法让它在其中添加一个新图标。它只是添加到JPanel的末尾。
继承了我对按钮的编码:
private class AddListener implements ActionListener {
public void actionPerformed(ActionEvent a){
if (a.getSource()== confirm) {
if (numberToss >0){
thrown = pitch.nextInt(25) + 1;
System.out.println(thrown);
//kol is an array to check for repeated numbers in randomization
if (kol.contains(thrown)==false){
input.remove(spot.get(thrown));
//spot is a map to set icons down with a association with number
spot.put(thrown, bSet);
input.add((spot.put(thrown, bSet)));
repaint();
kol.add(thrown);
}
else {
JOptionPane.showMessageDialog(null, "Your toss landed onto an occupied spot; you receive no points");
}
numberToss--;
}
else{
JOptionPane.showMessageDialog(null, "Out of tosses.");
}
}
}
有人碰巧知道如何用前者替换新图标(bSet)吗?提前致谢!