PDA

View Full Version : سوال: مشکل اين برنامه ساده چيه ؟؟؟



hamid67fathi
جمعه 01 شهریور 1387, 20:01 عصر
سلام
ميشه کمک کنيد ببينم مشکل اين برنامه چيه ؟




import java.awt.Frame;
import java.awt.Label;
public class win {
public static void main(String[] arg){
new win();

}
win(){[/right]


System.out.println("hamid win");
Label label;
label = new Label("hamid stating");
add(label);
pack();
show();
}
}


اين پيغام خطا رو ميده :



init:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\Administrator\Desktop\javaapp\new\build\c lasses
C:\Documents and Settings\Administrator\Desktop\javaapp\new\src\win .java:22: cannot find symbol
symbol : method add(java.awt.Label)
location: class win
add(label);
C:\Documents and Settings\Administrator\Desktop\javaapp\new\src\win .java:23: cannot find symbol
symbol : method pack()
location: class win
pack();
C:\Documents and Settings\Administrator\Desktop\javaapp\new\src\win .java:24: cannot find symbol
symbol : method show()
location: class win
show();
3 errors
BUILD FAILED (total time: 0 seconds)

unix_svr4
شنبه 02 شهریور 1387, 19:18 عصر
دوست عزيز

اولين اشكال كد شما اين است كه تابع سازنده كلاستان را بصورت public تعريف نكرديد. (چون در اعلان كلاستان قيد كرده ايد كه اين يك كلاس public است. بنابرين بايد سازنده آن هم public باشد.)
و اما دومين اشكال كد شما اين است كه شما از كلاس Frame ارث نبرده ايد. بنابرين نمي توانيد متد هاي addو pack را فراخواني كنيد.

شما بايد در اعلان كلاس اين كلمه را بنويسيد:

extends Frame

كد اصلاح شده شما:


import java.awt.Frame;
import java.awt.Label;

public class win extends Frame {

private Label label;
public win() {
label = new Label("hamid stating");
add(label);
pack();
show();
}
public static void main (String[] args) {

new win();
}
}


ضمنا! توابع سازنده معمولا مقادير اوليه را به متغير ها ست مي كنند و پيغامي هم نمايش نمي دهند.

موفق باشيد.