Ahoj,
mám další otázečku. Tentokrát se jedná o konkrétní kus kódu. Možná jen přehlížím nějaký detail, ale každopádně už si nevím rady.
ImageIcon fig1= new ImageIcon("fig1.jpg");
.
.
.
if (e.getButton() == MouseEvent.BUTTON1)
{
Icon a = button[x][y].getIcon();
if(a==fig1){
System.out.println("true");}
else{
System.out.println("false");}
}
než položím otázku, nastíním ještě trochu pozměněnou verzi:
ImageIcon fig1= new ImageIcon("fig1.jpg");
.
.
.
if (e.getButton() == MouseEvent.BUTTON1)
{
Icon a = button[x][y].getIcon();
System.out.println(fig1);
System.out.println(a);
}
Tímto způsobem jsem zjistil, že System.out.println(fig1) vytiskne stejnou hodnotu, jako System.out.println(a) v případě, že kliknu na tlačítko, které má obrázek fig1 (fig1.jpg). Protožeže "fig1" vytiskne stejnou hodnotu, jako "a", předpokládám, že fig1 == a. Ovšem podmínka if v předchozím kódu mi vrací false.
Chci se proto zeptat, jestli mi prosím někdo neprozradí důvod, proč tomu tak je.