praegune kellaaeg 22.06.2025 14:07:52
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
matis
HV kasutaja

liitunud: 12.04.2004
|
05.06.2010 01:41:49
JDialog always on top, ei tööta kui teine rakendus on parajasti aktiivne |
|
|
Programm peaks avama JDialog akna ja see aken peaks alati avanema kõige peal.
Kui Java rakendus on parajasti aktiivne, siis see funktsionaalsus töötab ilusti. Aga kui mul on aktiivne mõni teine programm näiteks Firefox, iTunes vms siis Always On Top ei tööta.
Kas keegi teab kuidas saaks teha nii, et JDialog aken alati kuvataks kõige peal, ka siis kui ma näiteks parajasti internetis surfan?
Näidiskood on allpool.
java:
|
JFrame mainFrame = App. getApplication(). getMainFrame(); final JDialog iBox = new AboutBox (mainFrame ); iBox.setModal(false); iBox.setFocusable(true); // iBox.setFocusableWindowState(true); // iBox.requestFocusInWindow(); iBox.setLocationRelativeTo(mainFrame); iBox.setAlwaysOnTop(true); System. out. println("ontop=" + Toolkit. getDefaultToolkit(). isAlwaysOnTopSupported()); iBox.dispose(); } }); closer.setRepeats(false); closer.start();
|
_________________ https://www.e-abi.ee/ - Pangalingid, Smartposti, Post24 moodulid, Järelmaksumoodulid. Magento, Prestahop, Wordpress. Aktsepteerin Bitcoini!
Soovid lisada oma tooteid HinnaVaatlusesse? https://www.e-abi.ee/magento/kasulikud/product-exporter-and-multi-product-feed-generator-hinnavaatlus.html |
|
Kommentaarid: 64 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
1 :: |
60 |
|
tagasi üles |
|
 |
i8080
Kreisi kasutaja

liitunud: 15.03.2002
|
05.06.2010 11:44:42
|
|
|
ma pole ise seda .setAlwaysTop meetodit kasutanud, kuid koodi peale vaadates tundub, et selle tähenduseks on olla top tema parenti, ehk antud juhul selle mainFrame suhtes.
see iBox paistab olevat childwindow minu arust.
ja kas üldse polnud mitte nii, et topmost window teiste programmide (firefox jne) suhtes saab olla vaid see aken mis on ise parent window...
ise oleksin kasutanud hädakorral (win32 puhul), kui muidu välja ei vea, jna ja vastavaid dll fukntsioonide otse väljakutsumist , et teha kindlaks akna handle ja siis panna sellele aknale külge style WS_EX_TOPMOST
|
|
Kommentaarid: 169 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
151 |
|
tagasi üles |
|
 |
matis
HV kasutaja

liitunud: 12.04.2004
|
05.06.2010 13:18:12
|
|
|
Kui ma antud JDialog aknale parentit ette ei anna, siis ta alwaysOnTop ei püsi
EDIT: Ise küsin ise vastan. Järgnev kood annab mulle soovitud käitumise:
JDialog ise tuleb alati nähtavale, ka siis kui parajasti surfan Firefoxis ning Parent frame võtsin konstruktorist maha, siis ei tõmma alwayOnTop parent windowd endaga kaasa ja kuvab ainult pisikese infoakna.
Triki tegi ära iBox.setVisible(true)
java:
|
infoBoxes = new ArrayList<JDialog>(); bottomPanel.setVisible(true); JFrame mainFrame = App. getApplication(). getMainFrame(); final JDialog iBox = new AboutBox (); iBox.setModal(false); iBox.setVisible(true); iBox.setFocusable(true); iBox.setLocationRelativeTo(mainFrame); iBox.setAlwaysOnTop(true); System. out. println("ontop=" + Toolkit. getDefaultToolkit(). isAlwaysOnTopSupported()); iBox.dispose(); } }); closer.setRepeats(false); closer.start();
|
_________________ https://www.e-abi.ee/ - Pangalingid, Smartposti, Post24 moodulid, Järelmaksumoodulid. Magento, Prestahop, Wordpress. Aktsepteerin Bitcoini!
Soovid lisada oma tooteid HinnaVaatlusesse? https://www.e-abi.ee/magento/kasulikud/product-exporter-and-multi-product-feed-generator-hinnavaatlus.html |
|
Kommentaarid: 64 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
1 :: |
60 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|