public int open=0;
private JButton opens[]=new JButton[1];
for(i=0; i<buttons.length; i++){
for (j=0; j<buttons[i].length;j++){
n=i*buttons.length+buttons[i].length;
buttons[i][j]=new JButton();
panel.add(buttons[i][j]);
buttons[i][j].addActionListener(this);
}
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() instanceof JButton){
JButton pressedButton = (JButton) e.getSource();
opens[open]=(JButton) e.getSource();
if((pressedButton.getIcon() == null)){
pressedButton.setIcon(new ImageIcon(getClass().getResource("/images/2.jpg")));
open=open++;
} else {
//pressedButton.setIcon(null);
}
}
if (open==1){
opens[0].setIcon(null);
opens[1].setIcon(null);
}
}
我想持有2點擊JButton
然後關閉或保持打開狀態。我怎麼能在陣列或其他東西?從e.getsource持有jbuttons陣列
我的數組控制是錯誤的?
有了這段代碼,我可以打開無限制的圖像,它們都沒有關閉。
你想在這裏做什麼? – mre
可能是我在'SO'上讀到的最不清楚的問題之一。 –
我想在數組中保存2個圖像,然後它們會關閉它們,如果它們不相同。這是一個記憶遊戲。只能打開2張圖像。 –