Egy Java programozó segitségét kérném a következő programhoz és nem értem mért nem jön be a GUI?
import javax.swing.JFrame;
public class mutassegykeretet{
public static void main(String args[]){
JFrame enkeretem=new JFrame();
String enfejlecem="Ures Keret";
myFrame.setTitle(enkeretem);
myFrame.setSize(300, 200);
myFrame.setDefaultCloseOperation
(JFrame.EXIT_ON_CLOSE);
myFrame.setVisible(true);
}
}
/*ez a program be kéne hozzon egy GUI-t de nem müködik pedig pont ugy irtam be ahogy olvastam egy könyvböl és az eclupse ezt a hibaüzenetet hozta be:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
myFrame cannot be resolved
myFrame cannot be resolved
myFrame cannot be resolved
myFrame cannot be resolved
at kerek.mutassegykeretet.main(mutassegykereket.java:11)
Nem tudok rájönni, hogy mi baja lehet
*/
Hát nézd meg jobban a változóneveid.
Egyszer "enkeretem"-et használsz, máshol "myFrame"-et.
Mit ír ki hibának?
Valószínűsítem, hogy ezzel a sorral lesz baja:
myFrame.setTitle(enkeretem);
Címnek String kell, nem JFrame.
AMost ezt irja ki:
Duplicate local variable enkeretem
Duplicate local variable enfejlecem
Ezzel a sorral van baja myFrame.setTitle(enkeretem);
Ahogy gondoltam is. :) Ezt a sort azért te is ki tudod javítani. Elvileg (az eredeti kódban) 2 változót definiáltál... egy JFrame és egy String típusút. A setTitle String-et vár, te meg a JFrame-et adtad neki oda... ergó... (eléggé rávezettelek szerintem)
A többi problémához pedig látni kéne, most hogy áll a kód.
igy gondoltad ?most se megy ugyanazt irja ki
import javax.swing.JFrame;
public class mutassegykereket{
public static void main(String args[]){
JFrame enkeretem=new JFrame();
String enfejlecem="Ures Keret";
myFrame.setTitle(enfejlecem);
myFrame.setSize(300,200);
myFrame.setDefaultCloseOperation
(JFrame.EXIT_ON_CLOSE);
myFrame.setVisible(true);
}
}
No, a kisebbik problémát javítottuk.
De akkor gondolkodjunk egy picit.
Minek a title-jét állítod be? Minek a size-ját állítod be? Mit teszel láthatóvá?
Egy myFrame nevű objektumot. Hol deklaráltad? Futtassuk a szemünket felfelé: sehol.
Ellenben deklaráltál egy enkeretem nevű JFrame-et, amit soha többet nem használsz. Valószínűleg ez akar lenni a myFrame-ed. Egyszerűbb megoldásként írd át az enkeretem-et myFrame-re. (Bonyolultabb megoldás, hogy a myFrame-eket írod át mindenhol enkeretem-re.)
Így már mennie kellene.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!