Buonasera,
Partendo da un Border Layout come faccio ad aggiungere al centro di quest'ultimo un Grid Layout?
Buonasera,
Partendo da un Border Layout come faccio ad aggiungere al centro di quest'ultimo un Grid Layout?
codice:import javax.swing.*; import java.awt.*; public class FrameExampleLayout extends JFrame { public FrameExampleLayout() { setLayout(new BorderLayout()); ... ... ... ... add(new PannelloGrid(), "Center"); .... .... setVisible(true); } } public class PannelloGrid extends JPanel { public PannelloGrid() { setLayout(new GridLayout()); ... ... ... ... add(quello_che_vuoi_tu, JButton_JTextField_altri pannelli_etc....); .... .... } }
Ho un applet con un menu in alto in uno schema borderlayout.
Quando clicco in un pulsante chiamo un evento che visualizza un pannello nel centro.
Il pannello non si vede fin quando non clicco sul pulsantino in alto a destra "ripristino in basso" e "ripristino in alto".
Come mai?
Se ti serve nascondere dei pannelli prova a guardare il cardLayout...un'occhiata non fa mai male...magari non centra niente ma almeno sai qualcosa in più!!![]()
Ciao.![]()
Il pannello interno voglio visualizzarlo non nasconderlo.
Devi richiamare un doLayout() e un repaint() ogni volta che aggiungi o rimuovi dei componenti.
Questi metodi vanno richiamati sul contenitore del componente aggiunto/rimosso.
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
Ho sempre lo stesso problema.
Il giusto valore del Frame lo ottengo quando tramite il mouse ridimenziono il Frame.
Come posso fare?
Visualizzo il contenuto del metodo add() solo quando ridimenziono il Frame.
doLayout() e repaint() nn mi hanno risolto il problema (o forse nn li so utilizzare).
Il modello di classe è quello sopra.
L'add lo faccio nella classe "principale", quella sopra.
Ma visualizzo l'aggiunta soltanto quando col mouse ridimenziono il Frame