PDA

View Full Version : [Java] JTextField... Autosize?


Fire Fox II
13-10-2009, 08:50
Salve raga

ho composto un programmino in cui ci sono varie box ognuna delle quali contenenti diversi campi JTextField

Il problema sta nella larghezza di questi campi...

Essendo che devo adattarlo su un monitor 9" e su un 19", nel momento in cui lo adatto ad uno dei 2 con un valore fisso, perdo poi l'allineamento sull'altro...

Tanto per fare un esempio, qui di seguito >> prima e dopo

http://img360.imageshack.us/img360/2030/befor.png

http://img94.imageshack.us/img94/1595/after.png

Come posso impostare il JTextField per ottenere una specie di autosize a seconda della grandezza dello schermo?

Thanks :)

banryu79
13-10-2009, 11:27
Non è un discorso di JTextField: la politica di posizionamento e ridimensionamento dei singoli componenti di un container che entra in gioco è tutta stabilita e gestita dal LayoutManager impostato sul quel container.

Se ad esempio il tuo container è un JPanel, di default il layout manager è un FlowLayout.

Si tratta quindi di stabilire quale layout manager faccia al caso tuo (che comportamento devi ottenere durante il resize) e come vada impostato.

Qui c'è il tutorial Java della Sun sui LayoutManager (http://java.sun.com/docs/books/tutorial/uiswing/layout/index.html).

Per realizzare finestre grafiche complesse spesso è neccessario raggruppare in diversi containers i vari componets, stabilire un layout manager per gestire i containers, e per ogni container stabilire uno specifico layout manager.


Personalmente mi sono trovato bene usando MigLayout, una libreria di terze parti che implementa un layout manager abbastanza flessibile.
Richiede un investimento temporale ragionevole per l'apprendimento, copre tutti i casi comuni di layout ed è versatile per realizzare layout molto complessi.