Malte Roessner
Grünschnabel
Hallo,
ich habe ein kleines Problem.
ich habe 2 Klassen
die erste Klasse die meine GUI innerhalb einer Methode public String run();
erzeugt und eine zweite Klasse die die GUI darstellt und nach Betätigung des
ok_Buttons wieder vom Bildschirm (möglichst nach Rückgabe des aus einem Feld
ausgelesenen Wertes) verschwinden lässt.
ich möchte auf den ausgelesenen Wert aus meiner ersten Klasse nachdem er mit OK bestätigt ist zugreifen und in der Methode als Rückgabewert "returnen"
2 Fragen dazu
1. muss ich da die Variable global definieren die ich übergebe?
2. wie kann ich meine run methode so lange aufhalten bis der Wert auch da ist bzw wie komme ich an den Wert?
Bin dankbar für jede Hilfe...
meine 2. Klasse die die GUI darstellt.
ich habe ein kleines Problem.
ich habe 2 Klassen
die erste Klasse die meine GUI innerhalb einer Methode public String run();
erzeugt und eine zweite Klasse die die GUI darstellt und nach Betätigung des
ok_Buttons wieder vom Bildschirm (möglichst nach Rückgabe des aus einem Feld
ausgelesenen Wertes) verschwinden lässt.
ich möchte auf den ausgelesenen Wert aus meiner ersten Klasse nachdem er mit OK bestätigt ist zugreifen und in der Methode als Rückgabewert "returnen"
2 Fragen dazu
1. muss ich da die Variable global definieren die ich übergebe?
2. wie kann ich meine run methode so lange aufhalten bis der Wert auch da ist bzw wie komme ich an den Wert?
Bin dankbar für jede Hilfe...
Code:
public class Test {
public String run () {
AuswahlGui a = new AuswahlGui(reply);
a.fuelleCombomitauswahl(response.getVector());
System.out.println("Anwort: " +reply); //hier wird leider nicht gewartet bis der Wert da is bzw wie bekomme ich den Wert in meine Variable ?
return reply;
}
private String reply;
}
Code:
package ch.objeng.appl.eias.awf.worklet.ext.std.ORE;
import javax.swing.JDialog;
import javax.swing.JButton;
import javax.swing.JComboBox;
import java.util.Vector;
import java.awt.event.*;
public class AuswahlGui extends JDialog implements ActionListener{
public AuswahlGui(String r){
this.reply=r;
this.setLayout(null);
this.setSize(200,120);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setLocation(((screenSize.width/2)-100),((screenSize.height/2))-50);
ok_Button = new JButton("OK");
ok_Button.setBounds(30,50,140,20);
combo = new JComboBox();
combo.setBounds(30,10,140,20);
combo = new JComboBox();
combo.setBounds(30,10,140,20);
ok_Button.addActionListener(this);
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
this.setTitle("Vorschläge");
this.setResizable(false);
}
/**
* Hier wird die Combobox zur Übergabe an die AWF zurück gefüllt
*
* @param v RückgabeVector von OpenRules -- Response weitergereicht
*/
public boolean fuelleCombomitauswahl(Vector v){
System.out.println(v.size());
for (int i=0; i<v.size();i++){
if (i==0){
combo.addItem(v.firstElement());
}
if ((v.elementAt(i).toString().equals("|")&&i!=(v.size()-1)))
{
combo.addItem(v.elementAt(i+1).toString());
}
}
addComponenten();
return true;
}
public void actionPerformed(ActionEvent event) {
// TODO Auto-generated method stub
System.out.println("angekommen");
System.out.println(event.getSource().toString());
if( event.getSource() == ok_Button ){
reply = combo.getSelectedItem().toString();
//setintoController and AWF
System.out.println(reply);
//schliessen des Dialogs
//dispose();
//System.out.println("test");
closeDialog();
}
}
public void addComponenten(){
this.add(ok_Button);
this.add(combo);
//this.add(Table);
this.setVisible(true);
this.setEnabled(true);
}
public void closeDialog(){
this.setVisible(false);
this.dispose();
}
//Vector tableinhalt;
//Vector spaltennamen;
JButton ok_Button;
JComboBox combo;
String reply;
}