kontos02 ha scritto:
al click dei bottoni devo cambiare ciò che è presente nella parte destra, ma in swing quale componente posso utilizzare?
Se vuoi che più componenti, UNO alla volta, possano essere visibili nella stessa area fisica, sì, è possibile e ci sono pure svariate soluzioni:
a) Il layout manager CardLayout. E' fatto apposta per questo ma presuppone di inserire a priori nel CardLayout tutti i componenti necessari. A seconda di quali/quanti sono, potrebbe non essere una buona idea riguardo occupazione di memoria e prestazioni.
b) Se si usa un altro layout manager che permette di fare stare più componenti nella stessa locazione o anche senza un layout manager (=posizionamento assoluto), si può "giocare" sulla visibilità dei componenti. Ne rendi visibile tu uno per volta e gli altri li tieni nascosti. Questa gestione è a
tuo carico. Questo è l'approccio usato sotto-sotto di nascosto proprio dal CardLayout (che si fa carico lui di questa logica).
c) Scambio "fisico" del componente in un contenitore. Togli il componente precedente e ne metti un altro:
contenitore.remove(compPrecedente) poi
contenitore.add(compNuovo)
Se il contenitore ha un layout manager, va però "rivalidato" e qui ... purtroppo dipende dal layout manager usato. Per quelli basilari come BorderLayout/FlowLayout ecc.. basta un
contenitore.validate()