Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    6

    [Java] Update JScrollPane

    Salve ... Da un po di tempo a questa parte sto lavorando a un progetto d'esame per la gestione di un cinema multisala.
    Il mio problema , navigando sul web sembra di facile risoluzione, ma nonostante io abbia provato le molteplici soluzioni proposte nessuna di queste ha funzionato.

    Mi spiego , la mia home page è composta di due parti principali una JTextArea sul lato destro e un JScrollPane sul sinistro, ed è quest ultimo a dare problemi.

    Per farla breve ho uno JScrollPane "jscp", al click di un pulsante sul lato destro jscp deve essere svuotato di ciò che contiene dentro devo aggiungerci solo un bottone. Il listener da me scritto per il bottone sul lato destro è il seguente

    codice:
    class FineListener implements ActionListener {
                @Override
                public void actionPerformed(ActionEvent e) {
    
                    jspl.removeAll();
                    jspl.add(new JButton("UnicoBottone"));
                    jspl.validate();
                    jspl.repaint();
    //ho provato anche con
                                   // SwingUtilities.updateComponentTreeUI(jscp);
                    }    
            }

    Vi prego aiutatemi , removeAll elimina tutto , ma add non aggiunge niente e non capisco perchè , è questine d'università e ci sto perdendo troppo tempo
    Ultima modifica di LeleFT; 29-12-2014 a 10:30 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268
    Prova per un attimo a vedere se riesci ad aggiungere il bottone senza rimuovere niente. Può essere che sia un problema di come hai impostato il layout
    Quote Originariamente inviata da LongSky Visualizza il messaggio
    Salve ... Da un po di tempo a questa parte sto lavorando a un progetto d'esame per la gestione di un cinema multisala.
    Il mio problema , navigando sul web sembra di facile risoluzione, ma nonostante io abbia provato le molteplici soluzioni proposte nessuna di queste ha funzionato.

    Mi spiego , la mia home page è composta di due parti principali una JTextArea sul lato destro e un JScrollPane sul sinistro, ed è quest ultimo a dare problemi.

    Per farla breve ho uno JScrollPane "jscp", al click di un pulsante sul lato destro jscp deve essere svuotato di ciò che contiene dentro devo aggiungerci solo un bottone. Il listener da me scritto per il bottone sul lato destro è il seguente

    class FineListener implements ActionListener {
    @Override
    public void actionPerformed(ActionEvent e) {

    jspl.removeAll();
    jspl.add(new JButton("UnicoBottone"));
    jspl.validate();
    jspl.repaint();
    //ho provato anche con
    // SwingUtilities.updateComponentTreeUI(jscp);
    }
    }

    Vi prego aiutatemi , removeAll elimina tutto , ma add non aggiunge niente e non capisco perchè , è questine d'università e ci sto perdendo troppo tempo

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Un JScrollPane non dovrebbe essere usato in quel modo.
    JScrollPane rappresenta una vista su un componente scrollabile. Ciò che va svuotato e riempito, quindi, non è il JScrollPane, ma il componente scrollabile (qualunque cosa esso sia). Il JScrollPane fornirà la vista corretta su quel componente.


    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

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    6
    Ho provato ad aggiungere il bottone senza eliminare niente , ma non da proprio risultati , come se non avessi premuto il bottone.

    Per quanto riguarda la seconda risposta , il problema è un po più complicato di come l'ho posto , per farla breve un metodo di una classe statica mi restituisce il pannello che vado poi a inserire nel JScrollPane, quindi non saprei come riferirmi direttamente a questo per svuotarlo.

    Se non chiedo troppo, e se sei interessato, posso lasciarti un mio contatto per spiegarti nei dettagli il problema

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Quote Originariamente inviata da LongSky Visualizza il messaggio
    Per quanto riguarda la seconda risposta , il problema è un po più complicato di come l'ho posto , per farla breve un metodo di una classe statica mi restituisce il pannello che vado poi a inserire nel JScrollPane, quindi non saprei come riferirmi direttamente a questo per svuotarlo.
    Basta tenersi il riferimento a quel pannello. Se c'è un metodo che restituisce qualcosa, è sempre possibile assegnare il risultato di quel metodo ad una variabile (riferimento).

    Tieni presente, comunque, che per poter usare un pannello (immagino JPanel) all'interno di un JScrollPane è necessario fare del lavoro supplementare in quanto JPanel non implementa Scrollable, quindi il JScrollPane potrebbe non gestire correttamente la vista su quel componente. Molto tempo fa postai questa classe, che rappresenta proprio un JPanel scrollabile (adatto, quindi, ad essere inserito all'interno di un JScrollPane). Prova a vedere se è adattabile alla tua situazione.


    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

Tag per questa discussione

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.