Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    83

    [Java - RISOLTO ] cambiare i pannelli in un JFrame

    Salve a tutti,
    ho un problema che credo sia semplice ma che non riesco a risolvere in nessun modo.
    Ho un JFrame con una barra da cui posso aprire tre JPanel
    Ovviamente il codice da attaccare all'ActionListener dei tasti è :

    codice:
     .addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent evt){
    
              getContentPane.setVisible(false);
              nuovoPanel = new MyPanel();
              setContentPane(nuovoPanel);
              nuovoPanel.setVisible(true);
    
          }
      }
    );
    Ora però uno di questi pannelli è troppo grande ed ho dovuto attaccarci un JScroller , in questo modo :

    codice:
     .addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent evt){
    
              getContentPane.setVisible(false);
              nuovoPanel = new MyPanel();
              scroller=new JScroller(nuovoPanel);
    
              setContentPane(scroller);
              scroller.setVisible(true);
    
          }
      }
    );
    Il problema è questo: ogni volta che cambio bannello cliccando sui tasti, il programma funziona. Ma se il mio pannello corrente è questo con lo scroller, quando cerco di cambiare pannello con uno qualsiasi degli altri, il pannello diventa grigio (vuoto) e solo quando clicco una seconda volta appare il pannello che volevo aprire.
    Quindi è qualcosa che ha a che fare con lo Scroller.

    Qualcuno può darmi una mano, per favore ?
    Livio

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Dopo ogni cambiamento esegui anche, in sequenza:
    codice:
    validate();
    doLayout();
    repaint();

    PS: quando posti il codice, includilo negli appositi tag CODE (il tuo primo post l'ho modificato io).


    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    83
    grazie mille, funziona adesso
    E scusa per la mancanza dei tag !

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