G
Guest
Gast
Hallo,
ich habe mir drei Klassen geschrieben: MeineGUI, MeinDialog, MyMain
Zum Vorgang:
1. MyMain startet MeineGUI
2. in MeineGUI kann ich über ein weiteres Fenster, MeinDialog, durch Button ADD einen Text hinzufügen
Funktioniert soweit auch, Compiler bringt keine Fehler....aber beim ausführen bekomme ich in MeinDialog bei "meineGUI.setName(eingabe);" eine NullPointerException! Was mache ich falsch?
ich habe mir drei Klassen geschrieben: MeineGUI, MeinDialog, MyMain
Zum Vorgang:
1. MyMain startet MeineGUI
2. in MeineGUI kann ich über ein weiteres Fenster, MeinDialog, durch Button ADD einen Text hinzufügen
Funktioniert soweit auch, Compiler bringt keine Fehler....aber beim ausführen bekomme ich in MeinDialog bei "meineGUI.setName(eingabe);" eine NullPointerException! Was mache ich falsch?
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class MeineGUI extends JFrame implements ActionListener{
JFrame myFrame;
JTextField myName;
JLabel myLabel;
JButton setName;
public String eingabe="";
public MeineGUI(){
JFrame myFrame = new JFrame();
myFrame.setSize(300,300);
myFrame.setLayout(new BorderLayout());
JTextField myName = new JTextField();
JLabel myLabel = new JLabel("Name: ");
JButton setName = new JButton("ADD");
setName.addActionListener(this);
myFrame.add(myLabel, BorderLayout.NORTH);
myFrame.add(myName, BorderLayout.CENTER);
myFrame.add(setName, BorderLayout.SOUTH);
myFrame.setVisible(true);
}
public void actionPerformed(ActionEvent event){
String cmd = event.getActionCommand();
System.out.println("test 0");
if(cmd.equals("ADD")){
new MeinDialog(this);
System.out.println("test");
}
}
public void setName(String eingabe){
myName.setText(eingabe);
}
}
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class MeinDialog extends JFrame implements ActionListener{
private MeineGUI meineGUI;
private JFrame myFrame;
private JTextField myName;
private JLabel myLabel;
private JButton btnOK;
public String eingabe="";
public MeinDialog(MeineGUI meineGUI){
JFrame myFrame = new JFrame();
myFrame.setSize(300,300);
myFrame.setLayout(new BorderLayout());
myName = new JTextField();
//myName.setEditable(false);
myName.setText("fff");
JLabel myLabel = new JLabel("Name: ");
JButton setName = new JButton("OK");
setName.addActionListener(this);
myFrame.add(myLabel, BorderLayout.NORTH);
myFrame.add(myName, BorderLayout.CENTER);
myFrame.add(setName, BorderLayout.SOUTH);
//myFrame.setPosition(100,200);
myFrame.setVisible(true);
System.out.println("hallo");
}
public void actionPerformed(ActionEvent event){
String cmd = event.getActionCommand();
System.out.println("test 01");
if(cmd.equals("OK")){
eingabe = myName.getText();
System.out.println(eingabe);
//MeineGUI.setName(eingabe);
//MeineGUI.setName(eingabe);
this.meineGUI = meineGUI;
meineGUI.setName(eingabe);
System.out.println("test11");
dispose();
}
}
}
Code:
public class MyMain {
public static void main(String[] args) {
new MeineGUI();
}
}