I
impression12
Gast
Hi Ihr,
ich versuche es kurz zu fassen.....ich verstehe nich ganz was public für ne Aufgabe hat. Normalerweiße heißt es doch das variablen und Methoden auch auserhalb der Klasse sichtbar sind und aufgerufen werden können.
Hier mein kleines Beispiel. Die Klasse main hab ich aus Platzgründen ausgelassen, hier werden nur die Panels auf die Contentpane gelegt.
Mein Problem: Ich lege den Button auf das A42Paneloben, möchte allerdings das JTextField zahl1 an A42Berechnen übergeben....mit den Übergabeparametern kann ich hier leider nicht arbeiten.....nun hab ich zahl1 auf public gesetzt und dachte nun ich kann über den Klassennamen z.b. A42Panel.zahl1 auf das JTextfiel in der Klasse A42Berechnen zugreifen....und das verstehe ich nicht....selbst wenn ich eine public Methode in die Klasse A42Panel schreibe, die das JTextField zahl1 zurückgibt, kann ich nicht außerhalb auf die Methode zugreifen. Setze ich JTextField zahl1 static, so funktioniert das ganze, aber ich habe gehört das wäre dann nicht objektorientiert und wäre nicht gut.
Wo ist hier mein Denkfehler bezüglich public und wie löse ich die Aufgabe auf einfach und richtige Weise....bin für jede Hilfe sehr dankbar....
Grüße
impression
ich versuche es kurz zu fassen.....ich verstehe nich ganz was public für ne Aufgabe hat. Normalerweiße heißt es doch das variablen und Methoden auch auserhalb der Klasse sichtbar sind und aufgerufen werden können.
Hier mein kleines Beispiel. Die Klasse main hab ich aus Platzgründen ausgelassen, hier werden nur die Panels auf die Contentpane gelegt.
Mein Problem: Ich lege den Button auf das A42Paneloben, möchte allerdings das JTextField zahl1 an A42Berechnen übergeben....mit den Übergabeparametern kann ich hier leider nicht arbeiten.....nun hab ich zahl1 auf public gesetzt und dachte nun ich kann über den Klassennamen z.b. A42Panel.zahl1 auf das JTextfiel in der Klasse A42Berechnen zugreifen....und das verstehe ich nicht....selbst wenn ich eine public Methode in die Klasse A42Panel schreibe, die das JTextField zahl1 zurückgibt, kann ich nicht außerhalb auf die Methode zugreifen. Setze ich JTextField zahl1 static, so funktioniert das ganze, aber ich habe gehört das wäre dann nicht objektorientiert und wäre nicht gut.
Wo ist hier mein Denkfehler bezüglich public und wie löse ich die Aufgabe auf einfach und richtige Weise....bin für jede Hilfe sehr dankbar....
Grüße
impression
Code:
///////////////////////A42Paneloben///////////////////////////
class A42Paneloben extends JPanel{
A42Paneloben(){
add(new A42Berechnen());
}
}
///////////////////////A42Panel///////////////////////////
class A42Panel extends JPanel{
public JTextField zahl1 = new JTextField(8);
A42Panel(){
super();
add(zahl1);
}
}
///////////////////////A42Berechnen///////////////////////////
class A42Berechnen extends JButton implements ActionListener{
A42Berechnen(){
super("berechnen");
this.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
}
}