Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    E' possibile sapere se la barra di windows Xp sta in basso ?

    Non ho problemi a rilevare le dimensioni dello schermo infatti faccio cosi.
    codice:
    java.awt.Dimension schermo=java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    int larghezza_dello_schermo=schermo.width;
    int Altezza_dello_schermo=schermo.height;

    e vorrei posizionare la mia finestra in bassa a destra, quindi faccio cosi

    codice:
    int larghezza_mia_finestra=this.getWidth();
    int altezza_mia_finestra=this.getHeight();
    int x1=larghezza_dello_schermo-larghezza_mia_finestra;
    int y1=Altezza_dello_schermo-altezza_mia_finestra;
    this.setLocation(x1, y1);
    e fino qui tutto va bene se non esiste la barra di windows Xp.

    Se invece esiste la barra di windows e sta in basso, allora cominciano i problemi perché
    un pezzo della mia finestra viene coperto dalla maledetta barra di windows che fu inventata da Microsoft allo scopo di fare casino.

    Allora per risolvere il problema, dovrei sapere le dimensioni dello schermo disponibile oppure in alternativa devo sapere se esiste la barra di windows e se 'sta barra in basso oppure a destra oppure a sinistra, oppure in alto.

    Se potessi sapere dove sta la barra e la sua altezza, potrei sottrarre l'altezza e fare una visualizzazione perfetta.

    E' possibile sapere dove sta 'sta barra ?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,306
    Non ne hai bisogno.
    Puoi ottenere un Rectangle che ti dice esattamente quali sono le coordinate dell'origine (angolo superiore sinistro) e le dimensioni dell'area utilizzabile:

    codice:
    Rectangle r = GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds();
    Questi sono i valori per il mio desktop nel caso in cui la barra delle applicazioni stia sotto (normale):

    [x=0,y=0,width=1920,height=1050]

    Questi i valori nel caso la barra sia sopra:

    [x=0,y=30,width=1920,height=1050]

    Come vedi, l'area è la stessa (1920 x 1050), ma cambiano le coordinate iniziali: (0, 0) nel primo caso, (0, 30) nel secondo caso.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Il tuo aiuto è stato prezioso, infatti ho risolto tutti i problemi di visualizzazione.
    Grazie eeh...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.