Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543

    remove() e add() su contentpane

    Ciao ragazzi, ho questo codice (solo le parti che potrebbero interessare il problema)
    codice:
    public class MainWindow extends JDialog{
    ...
    ...
    		this.container = new Container();
    		
    		JPanel bottom = new JPanel();
    		bottom.setOpaque(false);
    		bottom.setLayout(new BorderLayout());
    		bottom.add(new Note(), BorderLayout.NORTH);
    		bottom.add(new Footer(), BorderLayout.SOUTH);
    		this.container.add(new Header(), BorderLayout.NORTH);
    		this.container.add(bottom, BorderLayout.SOUTH);
    		this.setContentPane(container);
    ...
    ...
    	public void refresh() {
    		this.container.revalidate();		
    	}
    	public void setWeek(Week w){
    		this.getContentPane().add(w);
    	}
    	public void removeWeek(Week w){
    		this.getContentPane().remove(w);
    		this.refresh();
    	}
    }
    e questa classe
    codice:
    public class GUIManager {
    	
    	public static MainWindow w;
    	private static Week week;
    	
    	public static void refresh(){
    		week = new Week(WeekFunction.getWeekPointer());
    		w.removeWeek(week);
    		w.setWeek(week);
    		w.refresh();
    	}
    
    	public static void showGUI() {
    		w = new MainWindow();
    		week = new Week(WeekFunction.getWeekPointer());
    		w.setWeek(week);
    		w.refresh();
    	}
    	
    }
    scrivere l'implementazione di Week la trovo una cosa inutile...vi dico solo che è un JPanel.
    Il mio problema è che i vari pannelli Week vengono aggiunti ma non vengono rimossi...perchè succede questo? come posso ovviare al mio problema?

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa come fai a sapere che non vengono rimossi?
    comunque dovresti forzare la rivalidazione dell'intero tree grafico, in modo da vedere le modifiche (un refresh non basta)

  3. #3
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    dal fatto che lo vedo ancora in primo piano rispetto agli altri JPanel che vado ad aggiungere
    il metodo refresh() contiene this.container.revalidate();...cos'altro dovrei fare per forzare la rivalidazione?

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa ma week in qualche modo internamente cambia?? no perché se non cambia alla fine vedi sempre lo stesso

    più tardi rifaccio una prova, ora devo scappare

  5. #5
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    Originariamente inviato da valia
    scusa ma week in qualche modo internamente cambia?? no perché se non cambia alla fine vedi sempre lo stesso

    più tardi rifaccio una prova, ora devo scappare
    sì, il contenuto cambia e si vede che si sovrappongono perchè ho una immagine png con alpha al 20 che man mano diventa sempre più bianca

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

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.