Я делаю плату 4x4 вроде как тральщик. У каждой кнопки есть бомба или другое изображение.Нажмите j/ToggleButton, затем установите значок/изображение
Вот мой код:
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
this.jToggleButton1.setIcon(new javax.swing.ImageIcon("bombaa.png"));
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
this.jToggleButton1.setIcon(new javax.swing.ImageIcon("bombaa.png"));
}
также попробовал этот путь ...
private void setIcon1(){
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("bombaa.png")));
}
и вызвать SetIcon() в jButton1ActionPerformed и jButton1MouseClicked НО это устанавливает мое изображение в качестве основного значка для программа.
В основном, что мне нужно: нажмите кнопку и установите изображение/значок только один раз.
Во-первых, не используйте '' MouseListener's с JButton's. Вы можете создать пользовательскую модель кнопки, которая не позволяет ее отключать, поэтому, после ее выбора, это состояние остается выбрано (до его сброса), таким образом вы можете использовать выбранные/невыбранные свойства значка. – MadProgrammer
Я попробовал Statechanged и ActionPerformed, но изображение отображается, когда я наводил курсор мыши на кнопку (потому что эти события включают в себя все возможные действия, такие как мыши, курсор мыши и т. Д.). В любом случае, я займусь созданием пользовательской кнопки, если у вас есть какая-то ссылка, которая была бы оценена :) –