3rd Code Sample contains the error - how to solve?パラメータとして転送されたオブジェクトの参照
次のコードでは、「ジェネレータ」というメソッドを生成しました。 このメソッドは、JTextFieldとJLabelをパラメータとして受け取ります。
個々のJPanelを生成し、別のJPanel(境界線 "Vermieter"を持つJPanel)に追加します。 は、結果は(赤印)、次のようになります。
http://imageshack.us/photo/my-images/853/stammdateneraffsenguibe.png/
をここで私は、フィールドとしてのJTextFieldをインスタンス化しています:
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;
ここで私は私が
、上記の私のMethodeのを呼び出しています 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;
}
後、私は私が手に私のオブジェクトにアクセスするために、行を削除した場合、私はここにs = new JTextField();
新しいJTextFieldを、オブジェクトへの参照を作成しているので、私は.getText();
と私のTeftFieldsの参照を取得することはできませんNULLポインタ例外。
私は間違っていますか?
Whops。言いたいことは、JTextFieldを参照するメソッドinitComponentsを呼び出すことです。 このようにJTextFieldsを宣言しても、 private JTextField txtplzvermieter = new JTextField(); プライベートJTextField txtemailvermieter = new JTextField(); プライベートJTextField txtgeburtsdatumvermieter = new JTextField(); プライベートJTextField txthandyvermieter = new JTextField(); プライベートJTextField txtidvermieter = new JTextField(); 私はまだ同じNullPointerを取得します – RCK69
ジェネレータの入り口のところでコードをデバッグして自分のフィールドを監視し、何が起きているのかを確認してください – GingerHead
THX!私がデバッグしたとき、ジェネレータ()メソッドがうまくいたことがわかりました! エラーはここにありました: mieterPanel(mietPanel); mieterPanel(mietObjektPanel); "mietObjektPanel"にはランダムなものがいくつか含まれていたため、新しいパネルをmieterPanelに追加しました...新しいパネルを作成し、ジェネレータでmietObjektPanelを構築したとき() - メソッドそれは魅力のように働いた。私は新しいスキルをlearnndする前にデバッガーを使用していない - thx – RCK69