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

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

با سلام.

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

setAlwaysOnTop()

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

toFront()

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

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

1 جواب

+1 رأی

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

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

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

+1 رأی
1 جواب میانگین بازدید روزانه 0.0880 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0590 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.14304 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.05103 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0372 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.22526 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.5938 بازدید
سوال 5 سال قبل در تالار برنامه نویسی توسط javaa (127 امتیاز)
+1 رأی
1 جواب میانگین بازدید روزانه 0.36813 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.59550 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.06134 بازدید
کانال تلگرام جواب یاب
...