Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [JAVA] Repaint applet???

    Ciao a tutti, sto scrivendo un applet in cui a sinistra viene visualizzato un grafico e a destra delle label, textfield, botton inserite in un GridLayout (e questo panel in un BorderLayout.EAST).
    Quando viene lanciato per la prima volta a destra sono presenti solo 2 label, 2 textfield (dove verranno inserite due funzioni che verranno poi disegnate sul grafo una volta cliccato sul bottone) e un bottone.
    Il mio è che una volta cliccato sul bottone vorrei che sotto di questo apparisssero altre textfiled e botton non presenti prima dell'evento del mouse sul bottone.
    Non so se sono stato molto chiaro ma c'è qualcuno che può darmi una mano?

  2. #2
    Nessuno riesce ad aiutarmi!? Magari è una cavolata da risolvere ma sto diventando pazzo per mettere tutto a posto!!! :master:

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Senza il codice non possiamo aiutarti...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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

    Re: [JAVA] Repaint applet???

    Originariamente inviato da masso_87
    una volta cliccato sul bottone vorrei che sotto di questo apparisssero altre textfiled e botton non presenti prima dell'evento del mouse sul bottone.
    Fattibile ma ci sono alcune questioni da prendere in considerazione.
    Innanzitutto bisognerebbe vedere quante/quali "varianti" del layout hai. E se sono note/determinate a priori oppure no.
    Se sono note a priori, cioè se sai a priori quanti componenti, al massimo, in tutto ci devono essere, le soluzioni possono essere diverse. Ad esempio una è istanziare all'inizio tutti i componenti e poi "giocare" solo sulla "visibilità" dei componenti che devono apparire/sparire in base a certi eventi.
    Altrimenti se hai un certo numero (basso) di varianti che però magari sono molto differenti come componenti/layout, l'ideale è creare N JPanel ognuno per un certo layout e poi usare un CardLayout per mostrare uno solo di questi per volta a seconda di cosa serve.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5

    Re: Re: [JAVA] Repaint applet???

    Se sono note a priori, cioè se sai a priori quanti componenti, al massimo, in tutto ci devono essere, le soluzioni possono essere diverse. Ad esempio una è istanziare all'inizio tutti i componenti e poi "giocare" solo sulla "visibilità" dei componenti che devono apparire/sparire in base a certi eventi.
    Conoscono già quanti sono i componenti che devono apparire e anche io volevo giocare sulla visibilità di ogniuno, ma il mio problema era su che metodo richiamare una volta cliccato il bottone perchè questo mi riaggiorni il GridLayout

    Il MouseListener che ho associato al bottone è:

    codice:
    inserimento=new Panel(new GridLayout(4,1)); //questo è il panel a sinistra e al suo interno avrà
    
    panel1=new Panel(new FlowLayout());//ognuno di questo visualizza o una textfiel o un bottone o una label a seconda di quale pulsante viene cliccato
    panel2=new Panel(new FlowLayout());
    panel3=new Panel(new FlowLayout());
    panel4=new Panel(new FlowLayout());
    
    bottone.addMouseListener(new MouseListener(){
                      
                    public void mousePressed(MouseEvent e){
                            repaint(); //questo mi ridisegna il grafico a sinistra
                    }
    
                    public void mouseReleased(MouseEvent e) {}  
                    public void mouseClicked(MouseEvent e) {}
                    public void mouseEntered(MouseEvent e) {}
                    public void mouseExited(MouseEvent e) {}
    });
    
    add(inserimento, BorderLayout.EAST);//sposta tutto a est della finestra
    nel mio esempio bottone è nel panel 3, negli primi due panel sono presenti 2 textfield e nel quarto una scritta di errore che deve apparire dopo aver cliccato il bottone se i dati inseriti non sono corretti(quindi prima del click non dovrebbe vedersi)

  6. #6
    io ho pensato di usare una variabile intera(schermata) associata agli eventi dei bottoni; in pratica all'inizio sarà =0, poi quando viene cliccato il primo bottone visualizzato diventerà =1 poi =2 e così via, ma quando richiamo repaint() per disegnare il grafico la variabile intera non è incrementata come se venisse inizializzata a 0 ogni volta e in teoria l'evento sul bottone dovrebbe essere giusto.
    codice:
    avanti.addMouseListener(new MouseListener(){
                    public void mouseReleased(MouseEvent e) {
                            schermata=1;
                            repaint();
                        }    
                    public void mousePressed(MouseEvent e){}
                    public void mouseClicked(MouseEvent e) {}
                    public void mouseEntered(MouseEvent e) {}
                    public void mouseExited(MouseEvent e) {}
                    });
    Dove sbaglio?

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.