FrancescoIP ha scritto:
Grazie mille andbin per il tuo aiuto, visto che siamo in argomento mi potresti delucidare il modo di come cambiare le dimensioni e la posizione del pulsante all' interno della finestra sempre attraverso il codice
Ma proprio questo è l'argomento (molto grosso) che dovresti affrontare! Non è questione (solo) di come cambiare le dimensioni.
In AWT/Swing ci sono due strade per disporre i componenti:
1) Usare il posizionamento "assoluto" togliendo il layout manager da un "contenitore". Ovvero:
contenitore.setLayout(null); A quel punto ogni componente aggiunto nel contenitore va posizionato e dimensionato
esplicitamente con setBounds o con l'accoppiata setLocation e setSize.
Questo però NON è buono in generale. Perché vai a creare interfacce grafiche non facilmente ridimensionabili (ti tocca molto lavoro in tal senso), complicate da gestire e con codice sicuramente più lungo e complesso.
2) Usare i layout manager. Ogni layout manager però ha i suoi proprio criteri e logiche. Ogni componente non ha solo la dimensione "fisica", quella che si vede a video (gestibile con i metodi detti prima) ma ha anche altre 3 dimensioni: la dimensione "minima", "massima" e "preferita". Ciascun layout manager, a seconda dei criteri ed eventuali suddivisioni in aree, può usare nessuna, una, alcune o tutte di queste tre dimensioni.
Il FlowLayout che hai visto prima rispetta il "preferred size" dei componenti. FlowLayout fa "fluire" i componenti eventualmente su più righe e per default (come l'ho usato) è centrato orizzontalmente.
Quindi se volessi cambiare le dimensioni di quel pulsante:
pulsante.setPreferredSize(new Dimension(100, 80));
(Dimension è in java.awt)
Ma anche qui la questione è:
perché devi cambiare le dimensioni? Ci possono essere casi e scenari appropriati. Altri no. Ma sono cose da valutare volta per volta.
L'argomento, come ho detto, è molto ampio. Rimboccati le maniche, come si dice.