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.