Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [JAVA]Pannelli e stranezze varie

    Salve,
    scusate per il titolo ma non avevo idea di come intitolare la discussione.

    Il problema è il seguente, ho un pannello principale con due bottoni : PROVA2 e PROVA3

    Se clicco su PROVA2 viene visualizzato un pannello contenente diverse jtextfield

    Se clicco su PROVA3 viene visualizzato un pannello contenente una jtable

    In entrambi i pannelli di prova2 e prova3 ho un bottone (INDIETRO) che mi permette di tornare al pannello principale

    Quando clicco su INDIETRO dal pannello di prova2 nessun problema, se clicco INDIETRO dal pannello di PROVA3 i bottoni del pannello principale vengono visualizzati uno sopra l'altro.

    Da notare che il metodoActionPerfomed del bottone INDIETRO è lo stesso sia sul pannello di prova2 che su quello di prova3.

    Sperando d'essere stato chiaro vi chiedo : da cosa può dipendere questa stranezza?



    PS:
    sempre tanti auguri di buon anno!!!
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  2. #2
    anno nuovo problemi vecchi
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  3. #3
    up
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  4. #4
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  5. #5
    :master:
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA]Pannelli e stranezze varie

    Originariamente inviato da JunkyFunki
    In entrambi i pannelli di prova2 e prova3 ho un bottone (INDIETRO) che mi permette di tornare al pannello principale

    Quando clicco su INDIETRO dal pannello di prova2 nessun problema, se clicco INDIETRO dal pannello di PROVA3 i bottoni del pannello principale vengono visualizzati uno sopra l'altro.
    Ma non hai spiegato come è gestita la visualizzazione e lo scambio dei pannelli! Per questo tipo di cose (più componenti che condividono lo stesso spazio ma solo uno per volta è visibile) si usa in genere o il layout CardLayout o il componente JTabbedPane.
    Hai usato CardLayout? E se non l'hai usato, come hai gestito il tutto?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7

    Re: Re: [JAVA]Pannelli e stranezze varie

    Originariamente inviato da andbin
    Ma non hai spiegato come è gestita la visualizzazione e lo scambio dei pannelli! Per questo tipo di cose (più componenti che condividono lo stesso spazio ma solo uno per volta è visibile) si usa in genere o il layout CardLayout o il componente JTabbedPane.
    Hai usato CardLayout? E se non l'hai usato, come hai gestito il tutto?
    come layout manager ho usato il gridabaglayout e la gestione avviene in 3 passi:

    1)rimuovo tutti i componeneti precedentemente inseriti nel pannello
    2)aggiungo i componenti in base al bottone cliccato, jtextfield per prova2 o jtable per prova3
    3)aggiorno il frame con : frame.pack() frame.setvisibile(treu) frame.repaint()

    come detto prima funziona per tutti tranne quando torno indietro dal pannello contenente la jtable
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: [JAVA]Pannelli e stranezze varie

    Originariamente inviato da JunkyFunki
    come layout manager ho usato il gridabaglayout
    GridBagLayout è sicuramente un layout manager molto potente ma ha anche lui le sue paranoie. Io personalmente ho già avuto modo di usarlo ma non sono ancora riuscito a capire bene cosa fare per rivalidarlo correttamente quando aggiungo/rimuovo dei componenti. Sembra che validate() non funzioni. Provando a fare qualcos'altro ottengo degli orrendi risultati.

    Per farla breve: non complicarti la vita, usa CardLayout.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9

    Re: Re: Re: Re: [JAVA]Pannelli e stranezze varie

    Originariamente inviato da andbin
    GridBagLayout è sicuramente un layout manager molto potente ma ha anche lui le sue paranoie. Io personalmente ho già avuto modo di usarlo ma non sono ancora riuscito a capire bene cosa fare per rivalidarlo correttamente quando aggiungo/rimuovo dei componenti. Sembra che validate() non funzioni. Provando a fare qualcos'altro ottengo degli orrendi risultati.

    Per farla breve: non complicarti la vita, usa CardLayout.
    utilizzare il cardlayout comporta la revisione dell'intero progetto e attualmente non posso fare cambiamenti, in futuro chissà

    ad ogni modo trovo davvero strano che il problema si presenti solo quando torno indietro da una jtable, non è che sia proprio la jtable il problema? forse va a settare parametri che influiscono sul gridbaglayout?

    gli unici parametri che modifico su jtable sono :
    tabella.setPreferredScrollableViewportSize(new Dimension(500, 500));
    tabella.setFillsViewportHeight(true);
    tabella.setOpaque(true);
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Per rivalidare il contenitore prova ad utilizzare, in sequenza:
    codice:
    doLayout());
    repaint();
    validate();
    Se ancora non dovesse funzionare, prova a revisionare il progetto utilizzando il CardLayout.

    Ad ogni modo, in tutta la discussione non hai postato una sola riga di codice... difficile cercare di capire se hai commesso qualche altro errore...


    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

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.