Hallo, ich habe das Problem das wenn ich mein Programm ausführe, sich das Eingabefenster vervielfacht wenn ich Variablen in eine andere Klasse übergebe oder welche übernehme.
In diesem Fall passiert das nur wenn ich auf den Button drücke da ich nur dann auf eine andere Klasse zugreife.
P.S. Das Programm soll in diesem Fall keinen Sinn ergeben ich habe es nur zur veranschaulichung meines Problems geschrieben ich benötige es wirklich so das ich eine Variable aus einer anderen Klasse übernehme.
[JAVA=42] import java.awt.*;
import java.awt.event.*;
public class Eingabe extends Frame {
// Anfang Attribute
private NumberField numberField1 = new NumberField();
private Button button1 = new Button();
private Label label1 = new Label();
// Ende Attribute
public Eingabe(String title) {
// Frame-Initialisierung
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { dispose(); }
});
int frameWidth = 243;
int frameHeight = 204;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
setResizable(false);
Panel cp = new Panel(null);
add(cp);
// Anfang Komponenten
numberField1.setBounds(40, 24, 145, 25);
numberField1.setText("");
cp.add(numberField1);
button1.setBounds(48, 72, 121, 33);
button1.setLabel("button1");
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
button1_ActionPerformed(evt);
}
});
cp.add(button1);
label1.setBounds(56, 128, 107, 25);
label1.setText("");
label1.setAlignment(Label.CENTER);
cp.add(label1);
// Ende Komponenten
setVisible(true);
} // end of public Eingabe
// Anfang Methoden
public void button1_ActionPerformed(ActionEvent evt) {
Verarbeitung uebergabe = new Verarbeitung();
int eingabeZahl = numberField1.getInt();
String zahl = uebergabe.Ausgabe(eingabeZahl);
label1.setText(zahl);
} // end of button1_ActionPerformed
// Ende Methoden
public static void main(String[] args) {
new Eingabe("Eingabe");
} // end of main
} // end of class Eingabe [/code]
[JAVA=42] public class Verarbeitung {
public String Ausgabe(int eingabeZahl)
{
Eingabe input = new Eingabe("Eingabe");
String b = String.valueOf(eingabeZahl);
return b;
}
} // end of class Verarbeitung [/code]
In diesem Fall passiert das nur wenn ich auf den Button drücke da ich nur dann auf eine andere Klasse zugreife.
P.S. Das Programm soll in diesem Fall keinen Sinn ergeben ich habe es nur zur veranschaulichung meines Problems geschrieben ich benötige es wirklich so das ich eine Variable aus einer anderen Klasse übernehme.
[JAVA=42] import java.awt.*;
import java.awt.event.*;
public class Eingabe extends Frame {
// Anfang Attribute
private NumberField numberField1 = new NumberField();
private Button button1 = new Button();
private Label label1 = new Label();
// Ende Attribute
public Eingabe(String title) {
// Frame-Initialisierung
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { dispose(); }
});
int frameWidth = 243;
int frameHeight = 204;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
setResizable(false);
Panel cp = new Panel(null);
add(cp);
// Anfang Komponenten
numberField1.setBounds(40, 24, 145, 25);
numberField1.setText("");
cp.add(numberField1);
button1.setBounds(48, 72, 121, 33);
button1.setLabel("button1");
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
button1_ActionPerformed(evt);
}
});
cp.add(button1);
label1.setBounds(56, 128, 107, 25);
label1.setText("");
label1.setAlignment(Label.CENTER);
cp.add(label1);
// Ende Komponenten
setVisible(true);
} // end of public Eingabe
// Anfang Methoden
public void button1_ActionPerformed(ActionEvent evt) {
Verarbeitung uebergabe = new Verarbeitung();
int eingabeZahl = numberField1.getInt();
String zahl = uebergabe.Ausgabe(eingabeZahl);
label1.setText(zahl);
} // end of button1_ActionPerformed
// Ende Methoden
public static void main(String[] args) {
new Eingabe("Eingabe");
} // end of main
} // end of class Eingabe [/code]
[JAVA=42] public class Verarbeitung {
public String Ausgabe(int eingabeZahl)
{
Eingabe input = new Eingabe("Eingabe");
String b = String.valueOf(eingabeZahl);
return b;
}
} // end of class Verarbeitung [/code]