hiho,
erstmal der relevante code meines kleinen programm:
und die 2. klasse:
so, nun zum problem:
ich möchte die klasse warten lassen, bis die durch
aufgerufene Klasse/Methode beendet ist.
beide klassen erzeugen ein fenster. alles was nach dem aufruf der 2. klasse folgt soll bewirken, dass das erste fenster aktualisiert wird.
beide fenster werden mittels awt und swing realisiert.
wie lasse ich die erste klasse warten bis das 2. fenser geschlossen wird?
EDIT: 2. klasse hinzugefügt; sonstige verbesserungsvorschläge willkommen
erstmal der relevante code meines kleinen programm:
Code:
...
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == hinzu) {
new Edit(200, 100, "aendern").aendern(1, Bilanz);
if (Bilanz.GetIst() > Bilanz.GetSoll()) {
soll.setText(new Integer(Bilanz.GetIst()).toString());
} else {
soll.setText(new Integer(Bilanz.GetSoll()).toString());
}
ist.setText(new Integer(Bilanz.GetIst()).toString());
dif.setText(new Integer(Bilanz.GetSoll() - Bilanz.GetIst())
.toString());
}
...
und die 2. klasse:
Code:
mport java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Edit extends JFrame implements ActionListener {
static final long serialVersionUID = 1L;
JButton ok, cancel;
JTextField td;
JFrame win;
String sd = "";
Werte nc;
int Was;
boolean sdate;
public Edit(int x, int y, String t) {
setTitle(t);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setSize(x, y);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((d.width - getSize().width) / 2,
(d.height - getSize().height) / 2);
}
public void aendern(int was, Werte wert) {
Was = was;
nc = wert;
win = new Edit(200, 100, "ändern");
win.setLayout(new BorderLayout());
win.setFont(new Font("Roman", 1, 12));
win.setBackground(Color.lightGray);
JPanel p = new JPanel();
JPanel q = new JPanel();
p.setLayout(new FlowLayout(FlowLayout.CENTER));
win.add("North", p);
td = new JTextField("", 6);
td.addActionListener(this);
p.add(td);
q.setLayout(new FlowLayout(FlowLayout.LEFT));
win.add("South", q);
ok = new JButton("OK");
ok.addActionListener(this);
q.add(ok);
cancel = new JButton("ABBRUCH");
cancel.addActionListener(this);
q.add(cancel);
win.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == td) {
sd = td.getText();
nc.SetIst(nc.GetIst() + Was * Integer.valueOf(sd).intValue());
System.out.println(nc.GetIst());
if (nc.GetIst() > nc.GetSoll()) {
nc.SetSoll(nc.GetIst());
}
win.setVisible(false);
win.dispose();
}
if (source == ok) {
sd = td.getText();
if (!sd.equals("")) {
nc.SetIst(nc.GetIst() + Was * Integer.valueOf(sd).intValue());
System.out.println(nc.GetIst());
sdate = false;
if (nc.GetIst() > nc.GetSoll()) {
nc.SetSoll(nc.GetIst());
}
win.setVisible(false);
win.dispose();
} else {
JOptionPane.showMessageDialog(null,
"Bitte einen Wert eingeben oder ABBRUCH drücken.",
"IstSoll", JOptionPane.ERROR_MESSAGE);
}
}
if (source == cancel) {
win.setVisible(false);
win.dispose();
}
}
}
so, nun zum problem:
ich möchte die klasse warten lassen, bis die durch
Code:
new Edit(200, 100, "aendern").aendern(1, Bilanz);
beide klassen erzeugen ein fenster. alles was nach dem aufruf der 2. klasse folgt soll bewirken, dass das erste fenster aktualisiert wird.
beide fenster werden mittels awt und swing realisiert.
wie lasse ich die erste klasse warten bis das 2. fenser geschlossen wird?
EDIT: 2. klasse hinzugefügt; sonstige verbesserungsvorschläge willkommen
Zuletzt bearbeitet: