Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339

    Ridimensionare automaticamente JTextField

    Ciao a tutti.

    Allora ho una JDialog su cui ho disposto dei componenti utilizzando un GridBagLayout...
    tra questi componenti ci sono dei JTextField dove vanno inseriti dei numeri...

    Praticamente questa JDialog serve per modificare dei valori di un oggetto....per esempio il prezzo (Si tratta di un oggetto Articolo).
    Questa finestra mostra i valori attuali che poi saranno aggiornati quando si inseriranno i nuovi valori nelle JTextField e si premerà un pulsante "Modifica".

    Succede questo :

    ho come valore iniziale 250.0
    inserisco 1000 e faccio la modifica
    la JTextField non si ridimensiona , compare 000 anzichè 1000 ; si sistema solamente allargando la finestra.

    Come posso fare per farla ridimensionare automaticamente?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Markus85 Visualizza il messaggio
    ho come valore iniziale 250.0
    inserisco 1000 e faccio la modifica
    la JTextField non si ridimensiona , compare 000 anzichè 1000 ; si sistema solamente allargando la finestra.

    Come posso fare per farla ridimensionare automaticamente?
    Ok ... vediamo se ho capito: la dialog appare con il campo dimensionato "giusto" per 250. Mentre stai editando il campo vuoi che il campo si allarghi man mano che inserisci caratteri? E anche la dialog si adatti se necessario?

    Beh, non è una cosa che viene fatta di serie ma si può fare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Ok ... vediamo se ho capito: la dialog appare con il campo dimensionato "giusto" per 250. Mentre stai editando il campo vuoi che il campo si allarghi man mano che inserisci caratteri? E anche la dialog si adatti se necessario?
    250 è il valore che c'è dentro la JTextField

    Sei io lo faccio cambiare a 1000 la JTextField non si ridimensiona.

    La JDialog vorrei rimanesse cosi come è

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Markus85 Visualizza il messaggio
    250 è il valore che c'è dentro la JTextField
    Sei io lo faccio cambiare a 1000 la JTextField non si ridimensiona.
    Se aggiungi caratteri vuoi che si allarghi, ok, ma .... se rimuovi caratteri vuoi che si restringa?

    Tieni comunque presente una cosa importante: generalmente è bene fare in modo che un campo sia pre-dimensionato ad una dimensione "ragionevole" per la maggior parte (se non tutti) dei casi. ... non cercare di fare truschini di ridimensionamento come stai chiedendo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Se aggiungi caratteri vuoi che si allarghi, ok, ma .... se rimuovi caratteri vuoi che si restringa?
    Voglio solo che si allarghi.

    codice:
    pannelloFVA.add(labelPrezzoCorrente , new GBC(0,2).setInsets(5,5,5,5));
    GBC è una classe di supporto per GridBagLayout

    codice:
    public class GBC extends GridBagConstraints{
    
    
       public GBC(int gridx, int gridy)
       {
          this.gridx = gridx;
          this.gridy = gridy;
       }
    
    
       
       public GBC(int gridx, int gridy, int gridwidth, int gridheight)
       {
          this.gridx = gridx;
          this.gridy = gridy;
          this.gridwidth = gridwidth; 
          this.gridheight = gridheight; 
       }
    
    
      
       public GBC setAnchor(int anchor) 
       { 
          this.anchor = anchor; 
          return this;
       }
       
    
    
       public GBC setFill(int fill) 
       { 
          this.fill = fill; 
          return this;
       }
    
    
     
       public GBC setWeight(double weightx, double weighty) 
       { 
          this.weightx = weightx; 
          this.weighty = weighty; 
          return this;
       }
    
    
       
       public GBC setInsets(int distance) 
       { 
          this.insets = new Insets(distance, distance, distance, distance);
          return this;
       }
    
    
     
       public GBC setInsets(int top, int left, int bottom, int right) 
       { 
          this.insets = new Insets(top, left, bottom, right);
          return this;
       }
    
    
       
       public GBC setIpad(int ipadx, int ipady) 
       { 
          this.ipadx = ipadx; 
          this.ipady = ipady; 
          return this;
       }
       
    }// GBC

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