3rd Code Sample contains the error - how to solve?参考对象被转移为参数
在下面的代码中,我生成了一个名为“generator”的方法。 此方法接收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;
}
以后我不能得到与.getText();
我TeftFields参考,因为我已经创建了一个引用到这里s = new JTextField();
一个新的JTextField,-Object如果我删除订单中的行访问我的对象,我得到一个空指针异常。
我在做什么错?
Whops。忘记提及那个调用引用JTextFields的方法initComponents。 即使我声明这样的JTextFields: private JTextField txtplzvermieter = new JTextField(); private JTextField txtemailvermieter = new JTextField(); private JTextField txtgeburtsdatumvermieter = new JTextField(); private JTextField txthandyvermieter = new JTextField(); private JTextField txtidvermieter = new JTextField(); 我仍然得到相同的空指针 – RCK69 2012-04-07 22:08:56
调试代码并监视发电机入口点的场,并看看发生了什么 – GingerHead 2012-04-07 22:11:54
THX!当我呕吐时,我看到了generator() - 方法很好! 错误在这里: mieterPanel(mietPanel); mieterPanel(mietObjektPanel); 第二行导致错误,因为“mietObjektPanel”只包含一些随机的东西(导致我认为是空指针),并将其添加到mieterPanel而不是一个新的面板...当我创建一个新的面板,并与发电机构建mietObjektPanel () - 方法它像一个魅力。以前从未使用过调试器,因此我学习了一项新技能 - 欢迎您光临 – RCK69 2012-04-08 10:51:58