Jens wrote:
> Hvis jeg gør som du siger:
>
> String[] tf={"KNavnTxt", "KAdrTxt", "KPostNrTxt", "KTlfTxt", "KEmailTxt"};
> !kaldet kommer med de medfølgende parameter!
>
> class T
> {
> public void T(String[] tf)
> {
> for(i = 0; i<tf.length; i++)
> {
> temp1 = tf[i];
> JTextField f1 = new JTextField();
> java.util.Hashtable table = new java.util.Hashtable();
> table.put("f1",f1);
> ((JTextField)table.get(temp1)).setText("gg");
> }
> }
> }
>
> Får jeg en null point exception :(
Det er fordi der ikke er associeret noget med fx tf[0] (dvs "KNavnTxt").
Så returnerer table.get("KNavnTxt") null.
Her er en idé:
class T
{
private JTextField textFields = new JTextField[5];
private java.util.Hashtable table = new java.util.Hashtable();
T()
{
//associér "KNavnTxt" med tf[0] etc:
table.put( "KNavnTxt", tf[0] );
table.put( "KAdrTxt", tf[1] );
table.put( "KPostNrTxt", tf[2] );
table.put( "KTlfTxt", tf[3] );
table.put( "KEmailTxt", tf[4] );
}
public void t( String[] tf )
{
for( int i = 0; i < tf.length; i++)
{
Object obj = table.get( tf[i] );
if( obj == null )
{
// ingen associering mellem tf[i] og et JTextField objekt
// - en eller anden form for fejlhåndtering
}
else
{
((JTextField)obj).setText("gg");
}
}
}
}
Det er dog lidt spooky, og jeg kan ikke helt se, hvor du vil hen med det.
Fx hvorfra ved andre (dem, der kalder t() metoden), at der overhovedet
eksisterer et JTextField, der er associeret med fx "KNavnTxt"?
Ulrik Magnusson
--
DEUTSCH: You two have some sick sex thing?
BARTON: Sex?! He's a MAN! We WRESTLED!
Barton Fink - Joel and Ethan Coen, 1991
Visit my home page:
http://www.geocities.com/ulrikm