Sto implementando un editor di testo con il quale uso una routine di ricerca e sostituzione del testo. Premetto anticipatamente che il programma funziona, vorrei migliorare il layout in modo tale che i campi di testo oltre che essere posizionati nella parte sud del pannello, questi siano allineati anche a sinistra. Per comodità non riporto l'intero codice del programma ma solo la parte interessata:
codice:
//AGGIUNGE UN PULSANTE PER TROVARE DEL TESTO NELL'AREA DI TESTO
JButton replaceButton = new JButton("Sostituisci");
panel.add(replaceButton); //inserisce il pulsante fra uno degli elementi del pannello
//imposta il gestore di eventi del pulsante insert
replaceButton.addActionListener(new
ActionListener(){
public void actionPerformed(ActionEvent event){
//acquisisce il testo dalla casella di testo Sostituisci
String f = from.getText();
//acquisisce la posizione della sottoscritta eventualemente presente nell'area di testo
int n = textArea.getText().indexOf(f);
if(n >= 0 && f.length() > 0)
//sostuistuisce la sottostringa con quella nuova
textArea.replaceRange(to.getText(), n,
n + f.length());
}//actionPerformed
});//addActionListener
//aggiunge una casella di testo dove inserire il testo da trovare
from = new JTextField("", 8);
panel.add(from); //inserisce la casella di testo fra uno degli elementi del pannello
//inserisce l'etichetta
panel.add(new JLabel("Con"));
//aggiunge una casella di testo dove inserire il testo da sostituire
to = new JTextField("", 8);
panel.add(to); //inserisce la casella di testo fra uno degli elementi del pannello
//posiziona i pulsanti in basso al frame
contentPane.add(panel, BorderLayout.SOUTH);