第三个代码示例包含错误 - 如何解决?
在下面的代码中,我生成了一个名为“生成器”的方法。此方法接收一个 JTextField 和一个 JLabel 作为参数。
它生成单独的 JPanel 并将它们添加到另一个 JPanel(带有边框“Vermieter”的 JPanel)。结果应如下所示(标记为红色):
http://imageshack.us/photo/my-images/853/stammdateneraffsenguibe.png/
在这里,我将 JTextFields 实例化为字段:
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;
在这里,我正在调用我上面描述的方法
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 ));
这是包含错误的方法生成器:
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;
}
后来我无法在我的 TeftFields 上获得引用,.getText();
因为我在这里创建了对新 JTextField-Object 的引用s = new JTextField();
如果我删除该行以访问我的对象,我会得到一个空指针异常。
我究竟做错了什么?