Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [RISOLTO][Java]Visualizzazione di una stringa in una jTextField

    Salve,

    Volevo chiedere una volta settata una stringa che superi la dimensione di una textField come faccio a fare in modo di visualizzare il testo dall'inizio della stringa e non dalla fine? ho provato già con horizontalAlignment ma non cambia niente.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Devi posizionare il "caret" (ovvero il cursore).

    Vedi il metodo setCaretPosition().

    Devi passargli la posizione 0, che indica l'inizio della stringa.


    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

  3. #3
    Ho già provato con quel metodo ma niente, anche perchè già settato in automatico.
    Il testo continua a scalarmi in avanti

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da bel21968
    Ho già provato con quel metodo ma niente, anche perchè già settato in automatico.
    Il testo continua a scalarmi in avanti
    Questa operazione, ovviamente, va fatta dopo che il testo è stato aggiunto alla JTextField.

    Esempio:
    codice:
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    
    public class TXTField extends JFrame implements ActionListener {
    
       private JTextField txt;
       private JButton jb;
    
       public TXTField() {
          Container c = getContentPane();
          c.setLayout( null );
    
          txt = new JTextField();
          txt.setBounds(20, 20, 90, 20);
    
          jb = new JButton("Clicca");
          jb.addActionListener( this );
          jb.setBounds(20, 100, 80, 30);
    
          c.add( txt );
          c.add( jb );
          setTitle("TextField");
          setSize(800, 600);
          setDefaultCloseOperation( EXIT_ON_CLOSE );
          setLocationRelativeTo( null );
          setVisible( true );
       }
    
       public void actionPerformed(ActionEvent ae) {
          txt.setText("Testo molto lungo che deve sconfinare la dimensione della JTextField");
          txt.setCaretPosition( 0 );
       }
    
       public static void main(String[] args) {
          TXTField txtF = new TXTField();
       }
    }
    Prova a compilare ed eseguire questo codice. Poi togli la riga in cui viene settata la posizione (la seconda del metodo actionPerformed()), ricompila ed esegui nuovamente.

    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

  5. #5
    Ecco dove sbagliavo!, grazie mille ora ho capito e risolto il problema.

    Grazie, Ciao

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.