View Full Version : مشکل نشان ندادن ویندوز ها در net beans
hojjjat
چهارشنبه 02 مهر 1393, 20:33 عصر
سلام
من هر پروزه ای که ساختم و یا هر پروزه سالمی که دانود میکنم مشکلش اینکه پس از ران کردن فقط مینویسه bulid sucessful و هیچ اتفاق دیگه ای نمیافته و هیچ پنجره ای نمایش داده نمیشه منظورم جی فریم فرم هست
مشکل از کجاست؟
در ضمن من با مک کار میکنم
محمد فدوی
پنج شنبه 03 مهر 1393, 06:29 صبح
این برنامه رو اجرا کن ببین بازم نتیجه همینه:
/*
* SampleFrame.java
*/
import javax.swing.JFrame;
import javax.swing.JButton;
public class SampleFrame {
public static void main(String[] args) {
JFrame frame = new JFrame("Sample");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
frame.add(new JButton("Im Fake!"));
frame.setVisible(true);
}
}
hojjjat
پنج شنبه 03 مهر 1393, 10:24 صبح
برنامه شما باز میشه
ولی چرا برنامه های خودم باز نمیشه؟
ایا پس از ساخت جی فریم فرم بصورت وبزوال باید با کد ب کلاس اصلی ربطش بدم؟؟
محمد فدوی
پنج شنبه 03 مهر 1393, 11:01 صبح
برنامه شما باز میشه
ولی چرا برنامه های خودم باز نمیشه؟
ایا پس از ساخت جی فریم فرم بصورت وبزوال باید با کد ب کلاس اصلی ربطش بدم؟؟
ببینید مسأله خیلی ساده ست! شما توی برنامه یه کلاس که از JFrame ارث بری میکنه میسازید. اما به خودی خود این پنجره نشون داده نمیشه! چرا؟!
چون کامپایلر که هوش نداره! :لبخندساده: JVM به عنوان نقطه ورود به برنامه شما تابع main رو میگرده و پیداش میکنه و بعد فراخوانی میکنه. و از اینجا به بعد برنامه شما در حال اجراست. حالا شمایی که اگه بخوای میتونی تو این تابع یه پیغام به کاربرت نشون بدی، یا مثلا مث برنامه ای که من نوشتم یه پنجره رو به کاربرت نشون بدی. طبیعتا وقتیم به آخر تابع main برسیم برنامه شما بسته میشه! اگرم توی کدی که من نوشتم دیدی که برنامت باز میمونه تا وقتی خودت ببندیش به خاطر وجود این خطه:
frame.setVisible(true);
اینکه حالا این خط چکار میکنه رو بیخیال!
این مشکلی که شما دارین رو خیلی از افرادی که از WindowBuilderها استفاده میکنن دارن! نمیدونم البته شما از WindowBuilder خود NetBeans استفاده کردین یا نه...
ولی خیلی ها انتظار دارن یه JFrame رو با NetBeans طراحی کنن و دیگه از خودشون نمیپرسن این پنجره چجوری میخواد نشون داده بشه. البته اگه اشتباه نکنم توی NetBeans خودش تابع main رو به کلاس JFrame منتقل میکنه.
نمیدونم چقد حرفام مفید بود برات ولی بهرحال پیشنهاد میکنم یه مدت بصورت تمرینی از سیر تا پیاز برنامه ت رو خودت بنویسی. حتی اگه میتونی بدون NetBeans و مستقیما با کامپایلر javac برنامه بنویس. آموزش توی اینترنت زیاد هست.
موفق باشی.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.