В настоящее время я делаю java-программу с использованием netbeans на основе изменения изображения в кнопке....
На самом деле мое требование состоит в том, чтобы изменить значок изображения кнопки, когда я нажимаю другую кнопку (Say A).....
я вышел со следующей программой........
// Following function is included inside the button's (Here A) ActionListener........
public void change_image()
{
if(sex==0)
{
ic=new ImageIcon("E:\\java_images\\female_profile.jpg");
sex=1;
}
else if(sex==1)
{
ic = new ImageIcon("E:\\java_images\\male_profile.png");
sex=0;
}
// To resize the image into the size of the button...
labelicon.setImage(ic.getImage().getScaledInstance(image_btn.getWidth(),image_btn.getHeight(), Image.SCALE_DEFAULT));
img_btn.setIcon(labelicon);
}
Переменные, которые я включил,
private int sex; // 0 - female, 1 - male
private ImageIcon ic,labelicon; // variables meant for storing ImageIcons.....
private JButton img_btn; // the button at which the image is to be displayed....
Теперь странное поведение, которое я наблюдал, это .......
Изображение отображается при нажатии кнопки, только когда я нажимаю кнопку свертывания. то есть, когда я нажимаю кнопку A, выполняется код, указанный в ActionListener. Но эффект смены изображения появляется только тогда, когда я сворачиваю окно и снова заставляю его появляться на экране.... Кто-нибудь может сказать, почему это происходит и как я могу устранить проблему??
Все, что я хочу, это изменить изображение в тот момент, когда я нажимаю кнопку A..... Ну... я не включил код для создания кнопки, так как это легко сделать с помощью построителя графического интерфейса netbeans Swing......