3rd Code Sample contains the error – how to solve?
In the following code I have generated a method called “generator”.
This method receives a JTextField and a JLabel as parameter.
It generates individual JPanels and adds them onto another JPanel (the one with the Border “Vermieter”).
The result should look like this (marked red):
http://imageshack.us/photo/my-images/853/stammdateneraffsenguibe.png/
here I am instantiating the the JTextFields as fields:
private JTextField txtplzvermieter;
private JTextField txtemailvermieter;
private JTextField txtgeburtsdatumvermieter;
private JTextField txthandyvermieter;
private JTextField txtidvermieter;
private JTextField txtnamevermieter;
private JTextField txtortvermieter;
private JTextField txtstrassevermieter;
private JTextField txttelefonvermieter;
private JTextField txtvornamevermieter;
here I am calling my methode which I described above
public void vermieterPanel(JPanel verPanel){
verPanel.add(generator( "ID", txtidvermieter ));
verPanel.add(generator("Name", txtnamevermieter ));
verPanel.add(generator( "Vorname", txtvornamevermieter ));
verPanel.add(generator( "Straße", txtstrassevermieter ));
verPanel.add(generator("PLZ", txtplzvermieter ));
verPanel.add(generator( "Ort", txtortvermieter ));
verPanel.add(generator( "Geburtsdatum", txtgeburtsdatumvermieter ));
verPanel.add(generator( "Telefon", txttelefonvermieter ));
verPanel.add(generator("Handy", txthandyvermieter ));
verPanel.add(generator( "E-Mail", txtemailvermieter ));
and here is the methode generator which contains the error:
public JPanel generator(String lableText, JTextField s){ // generiert ein Panel mit einer Zeile aus lable + TextFeld
JPanel gens = new JPanel();
JLabel lable = new JLabel(lableText);
lable.setPreferredSize(new Dimension(100,25));
s = new JTextField();
s.setPreferredSize(new Dimension(200, 25));
gens.add(lable);
gens.add(s);
return gens;
}
later I can’t get a reference on my TeftFields with .getText(); because I have created a reference onto a new JTextField-Object here s = new JTextField();
If I remove the line in order to access my Objects I get a Null-Pointer exception.
What am I doing wrong?
Of course you will get an exception, because you are passing the JTextield before you initialize it!!
you are just declaring it,
initialize it with the new keyword before passing it as parameter.