قرار دادن یک فرم Swing جاوا بر روی برنامه های دیگر

+1 رأی
میانگین بازدید روزانه 0.07160 بازدید

با سلام.

برای قرار دادن یک فرم Swing بر روی تمام پنجره های دسکتاپ خاصیت

setAlwaysOnTop()

را true میکنیم. همچنین اگر فرم Swing غیرفعال میشود میتوان در رویداد فرم آن را

toFront()

کرد. برنامه من با انجام تمام این کارها بعضی از برنامه ها را وقتی اجرا میکنم فرم برنامه من را می پوشانند. چگونه میشود از این امر جلوگیری کرد و فرم Swing همواره روی تمام پنجره های جاری دسکتاپ قرار گیرد.

سوال 6 سال قبل در تالار برنامه نویسی توسط hassanali (102 امتیاز)
ویرایش 6 سال قبل توسط Saeed Zarinfam

1 جواب

+1 رأی

طبق مستندات متد setAlwaysOnTop زمانی که یک پنجره always-on-top می شود فقط پنجره هایی که always-on-top هستند می توانند برروی آن قرار گیرند (البته باز هم به سیستم عامل بستگی دارد). احتمالا آن برنامه هایی که برروی پنجره always-on-top شما قرار می گیرند خود always-on-top هستند.

جواب 6 سال قبل توسط Saeed Zarinfam (478 امتیاز)
شاید من خوب مشکلم را انتقال نمی دهم. درست است، تنها پنجره هایی که این خاصیت را داشته باشند میتوانند بر روی فرم Swing من قرار گیرند. اما مشکل این است که اگر فرم Swing من بالا باشد برنامه مورد نظر فورا فرم Swing من را میپوشاند.(نه روی برنامه مورد نظر کلیکی شده و نه رفرشی صورت گرفته!) با فرض اینکه اگر آن برنامه خاصیت دومی را هم که ذکر کردم(toFront منظورم است) در رویداد غیرفعال شدن پنجره خود قرار داده باشد من هم همین کار را کردم. اما فایده ای ندارد.
فکر کنم  مستندات متد setAlwaysOnTop را بخونید کاملا مسئله براتون شفاف میشه.

سوال های مشابه

+1 رأی
1 جواب میانگین بازدید روزانه 0.0888 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0596 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.14319 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.05111 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0374 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.21543 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.491,004 بازدید
سوال 5 سال قبل در تالار برنامه نویسی توسط javaa (127 امتیاز)
+1 رأی
1 جواب میانگین بازدید روزانه 0.35844 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.57614 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.06143 بازدید
کانال تلگرام جواب یاب
...