miten saa globaalisti haettua

modaalisen jdialogin?
2354
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

Olisiko alla olevasta esimerkistä apua. Esimerkki luokassa oleva "heaPäälinmäinenModaalinenJDialog()" metodi palauttaa sen modaalisen JDialogin jolla on fokus. Jos modaalisella JDialogilla ei ole fokusta hallussa, palauttaa metodi silloin sen modaalisen JDialogin joka toimii isäntänä ikkunalle jolla on fokus. Jos tällaistakaan ei ole, palauttaa metodi arvon null.

--- ESIMERKKI ALKAA ---

import java.awt.Window;
import javax.swing.JDialog;


public class Esimerkki {
   public static Window haeIkkunaJollaFocus() {
      Window[] ikkunat = JDialog.getWindows();
   
      for (Window ikkuna : ikkunat)
         if (ikkuna.isFocused())
            return ikkuna;
      
      return null;
   }
   
   private static Window ratkaiseOikeanlainenOmisaja(Window ikkuna) {
      if (ikkuna == null)
         return null;
      
      if (ikkuna instanceof JDialog)
         if (((JDialog) ikkuna).isModal())
            return ikkuna;
      
      return ratkaiseOikeanlainenOmisaja(ikkuna.getOwner());
   }
      
   public static JDialog heaPäälinmäinenModaalinenJDialog() {
      Window ikkuna = ratkaiseOikeanlainenOmisaja(haeIkkunaJollaFocus());
      
      return (ikkuna != null) ? (JDialog) ikkuna : null;
   }
}

--- ESIMERKKI LOPPUU ---

Äänestä
  • ei tuo getWindows()-metodi osunut oikeen silmään vaikka olin varma et semmoinen jossain on...

    Äänestä

Kommentoi aloitusta


päällimmäisen kirjoitti:

modaalisen jdialogin?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu