[Java] Problema con la dimensione di un jframe

Discussione in 'Java' iniziata da accosimo, 18 Novembre 2013.

  1. accosimo

    accosimo Nuovo Utente

    Registrato:
    18 Novembre 2013
    Messaggi:
    6
    Mi Piace Ricevuti:
    2
    Punteggio:
    0
    ciao a tutti, scusate il disturbo e l'inisperienza. sono qui perchè sono giorni che sto cercando di risolvere questo problema ma non ne vengo fuori.

    sto cercando di creare un'applicazione dove in un JFrame vengono creati 6 identici JPanel, disposti in matrice 3x2, con all'interno alcuni bottoni ed etichette, una cosa abbastanza semplice insomma. Il problema nasce nel fatto che questa GUI la vorrei poter utilizzare in diversi dispositivi e schermi, e vorrei quindi dimensionare tutti i pannelli all'interno dei JFrame (quindi tutte le varie JLabel e i JButton) in funzione delle dimensioni "sfruttabili" dello schermo di quel preciso dispositivo.

    Ho provato ad utilizzare due strade ma nessuna delle due si è rivelata ottima. All'inizio avevo fatto tutto in funzione di screenSize.width e screenSize.height. Mentre per la larghezza ha funzionato, per l'altezza questo metodo mi restituisce tutta l'altezza dello schermo, compresa la "title bar" del JFrame e la barra di Windows, quindi ovviamente non va bene. Poi ho provato con getMaximumWindowBounds() di GraphicsEnvironment che mi restituisce il rettangolo "sfruttabile", quindi tutto lo schermo esclusa la barra di windows: la "title bar" (e poi anche lo spazio occupato dal JMenu, perchè c'è anche quello) però purtroppo continua a rimanere compresa...

    cosa mi consigliate di fare? come potrei riuscire a risalire alle dimensioni dello spazio del JFrame che veramente riesco ad utilizzre?
    Aggiungo che utilizzo SetExtendedState(JFrame.MAXIMIZED_BOTH) e setResizable(false) che mi setta il frame full screen senza possibilità di ridimensionare...

    Vi prego inoltre di dirmi se ho spiegato male il problema e se magari ho dato per scontato qualcosa che invece sarebbe stato importante che scrivessi.
     
    A ottofonsuppost piace questo elemento.
  2. Slyfer

    Slyfer Utente Attivo

    Registrato:
    4 Dicembre 2010
    Messaggi:
    65
    Mi Piace Ricevuti:
    21
    Punteggio:
    0
    A ottofonsuppost piace questo elemento.
  3. accosimo

    accosimo Nuovo Utente

    Registrato:
    18 Novembre 2013
    Messaggi:
    6
    Mi Piace Ricevuti:
    2
    Punteggio:
    0
    Grazie 1000

    In effetti non ci avevo pensato all'inizio (non è mia abitudine utilizzare i layout): ora utilizzando il gridLayout che mi posizione alla perfezione i componenti dentro al JFrame e getContentPane().getWidth() getContentPane().getHeight() per prendere le giuste dimensioni della parte del frame realmente utilizzabile, sono riuscito a far funzionare il tutto. Provato sia su schermo 25 pollici sia su 15 pollici sia su 10cpollici e tutto funziona come dovrebbe!

    grazie
     
    A ottofonsuppost piace questo elemento.
Sto caricando...

Condividi questa Pagina