Re: TextField
man4*.* schrieb:
THX, I've modified you're code a litle bit and found what I was looking
for..
So, I'm new in swing (new also in Java :-) ) and I was wondering....
I'm creating one let's call it aplication, with few buttons, TexFields,
RadioButt., comboBox...
right now, I'm creating classes for each component like:
class T1A implements ActionListener {
public void actionPerformed(ActionEvent e) {
tf1.setText(tf2.getText() );
}
}
and calling it with tt2.addActionListener(new T1A());
and now I have to code at least 10 new classes, is there any other way?
Depends. If you've got 10 completely different tasks then yes (forget
about if-else/switch-constructs to create whole-world-listeners).
In many cases you can reuse classes:
class TextSetterAction implements ActionListener {
private JTextComponent tc1;
private JTextComponent tc2;
public TextSetterAction( JTextComponent tc1, JTextComponent tc2 ) {
this.tc1 = tc1;
this.tc2 = tc2;
}
public void actionPerformed( ActionEvent e ) {
tc1.setText( tc2.getText() );
}
}
TextSetterAction tf1tf2Setter = new TextSetterAction(tf1,tf2);
tt2.addActionListener( tf1tf2Setter );
tt3.addActionListener( new TextSetterAction(tf3, tf4) );
....
Of course, you can reuse objects, too:
tt4.addActionListener( tf1tf2Setter );
...
There are more ways to make life easier (e. g. JComponent's client
property) but it depends on the situation.
Bye
Michael