Visualizzazione dei risultati da 1 a 10 su 14

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da roquentin Visualizza il messaggio
    Ho fatto un'altra prova su un notebook con differente dimensione di schermo e con SO windows xp e la GUI va oltre le dimensioni dello schermo....
    La questione è che o stabilisci e richiedi dei requisiti minimi (es. risoluzione almeno 1024x768) oppure modifichi la tua interfaccia grafica in modo che sia ok su tutti gli schermi (in pratica renderla più piccola possibile ma un limite inferiore comunque ci deve essere) oppure ancora fai qualcosa di più "dinamico". Se c'è spazio magari un tuo componente che è "grande" lo metti di una certa dimensione mentre se c'è meno spazio lo rendi più piccolo.

    Non so darti altre indicazioni precise perché non conosco la tua applicazione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Quote Originariamente inviata da andbin Visualizza il messaggio
    La questione è che o stabilisci e richiedi dei requisiti minimi (es. risoluzione almeno 1024x768) oppure modifichi la tua interfaccia grafica in modo che sia ok su tutti gli schermi (in pratica renderla più piccola possibile ma un limite inferiore comunque ci deve essere) oppure ancora fai qualcosa di più "dinamico". Se c'è spazio magari un tuo componente che è "grande" lo metti di una certa dimensione mentre se c'è meno spazio lo rendi più piccolo.

    Non so darti altre indicazioni precise perché non conosco la tua applicazione.
    Sto provando in questo modo:
    codice:
    public PVE() throws Exception {
            initComponents();
            this.setLocationRelativeTo(null);
            double percentualeLarghezza = 0.692;
            double percentualeAltezza = 0.74; 
            Dimension dimensioneSchermo = Toolkit.getDefaultToolkit().getScreenSize();
            this.setSize((int) (dimensioneSchermo.getWidth() * percentualeLarghezza), (int) (dimensioneSchermo.getHeight() * percentualeAltezza)); 
    ..
    Ma in questo modo: la dimensione di tutti gli altri componenti contenuti nel JFrame principale resta invariata. Quindi se considero una percentuale di altezza/larghezza troppo piccola va a "tagliarmi" fuori dei componenti (non si ridimensionano in proporzione) , se considero un percentuale troppo grande allora la dimensione del JFrame principale aumenta ma i componenti contenuti in essa restano nelle stesse posizioni e non si ridimensionano in proporzione
    Ultima modifica di roquentin; 22-04-2015 a 14:56

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da roquentin Visualizza il messaggio
    Ma in questo modo: la dimensione di tutti gli altri componenti contenuti nel JFrame principale resta invariata. Quindi se considero una percentuale di altezza/larghezza troppo piccola va a "tagliarmi" fuori dei componenti (non si ridimensionano in proporzione) , se considero un percentuale troppo grande allora la dimensione del JFrame principale aumenta ma i componenti contenuti in essa restano nelle stesse posizioni e non si ridimensionano in proporzione
    Eh ... ma è appunto dovuto al posizionamento assoluto. In questo caso infatti è tutto a tuo carico. Hai es. un JTable (più che JTable, è il JScrollPane che lo contiene!) che è un buon candidato a cui dare una altezza "dinamicamente" in base allo spazio disponibile? Bene, allora se hai componenti sotto il JScrollPane/JTable spetta a te spostarli!


    Quello che posso dirti (e ripeterti ... l'ho già detto prima): setLocationRelativeTo(null) va fatto DOPO aver causato il calcolo delle dimensioni fisiche.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Eh ... ma è appunto dovuto al posizionamento assoluto. In questo caso infatti è tutto a tuo carico. Hai es. un JTable (più che JTable, è il JScrollPane che lo contiene!) che è un buon candidato a cui dare una altezza "dinamicamente" in base allo spazio disponibile? Bene, allora se hai componenti sotto il JScrollPane/JTable spetta a te spostarli!
    Cioè devo spostarli in modo tale che si adattino alla dimensione dello schermo? Come devo settare/disporli per ottenre ciò che voglio?

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da roquentin Visualizza il messaggio
    Cioè devo spostarli in modo tale che si adattino alla dimensione dello schermo? Come devo settare/disporli per ottenre ciò che voglio?
    Quando si usa il posizionamento "assoluto" e si vuole realizzare qualcosa di un po' più dinamico sulle dimensioni (almeno al momento della creazione, NON necessariamente anche ridimensionabile in seguito), si può fare es.:

    codice:
    componente1.setBounds(10, 10, 100, 30);
    int componente2y = 70;
    componente2.setBounds(10, componente2y, 100, altezzaCalcolata);   // altezza determinata in base a "qualcosa"
    int componente3y = componente2y + altezzaCalcolata + 30;
    componente3.setBounds(10, componente3y, 100, 40);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.