Vorweg ein erfrischendes Moin-Moin von der Küste...
Ich habe eine Frage zu der folgenden Aufgabe:
Meine bisherige Lösung funktioniert, bis auf den rot markierten Teil. Nur schaffe ich es einfach nicht, das nach dem Schließen des Dialogs der eingestellte Wert im Dialog auch im Frame übernommen wird. Ich hoffe ihr könnt mir erklären wie man das löst.
Meine bisherige Lösung:
Klasse für Frame
Dialog Klasse
Vielen Dank im Voraus
Ich habe eine Frage zu der folgenden Aufgabe:
Meine bisherige Lösung funktioniert, bis auf den rot markierten Teil. Nur schaffe ich es einfach nicht, das nach dem Schließen des Dialogs der eingestellte Wert im Dialog auch im Frame übernommen wird. Ich hoffe ihr könnt mir erklären wie man das löst.
Meine bisherige Lösung:
Klasse für Frame
Java:
import java.awt.*;
import java.awt.event.*;
public class ValueDialog extends Frame {
ValueDialog(){
super("ValueDialog");
setLayout(new FlowLayout());
final TextField tf = new TextField();
Button bt1 = new Button("Dialog");
add(tf);
add(bt1);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
bt1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new ScrollDialog(ValueDialog.this,tf.getText());
}
});
pack();
setVisible(true);
}
public static void main(String[] args) {
new ValueDialog();
}
}
Dialog Klasse
Java:
import java.awt.Button;
import java.awt.Dialog;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Scrollbar;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
class ScrollDialog extends Dialog{
ScrollDialog(final Frame dgl,String text){
super(dgl);
setLayout(new FlowLayout());
setModal(true);
final Label label1 = new Label();
Scrollbar sb1 = new Scrollbar(Scrollbar.HORIZONTAL);
Button bt2 = new Button("OK");
add(sb1);
sb1.setValue(Integer.valueOf(text));
add(label1);
label1.setText(text);
add(bt2);
bt2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
}
});
sb1.addAdjustmentListener(new AdjustmentListener(){
public void adjustmentValueChanged(AdjustmentEvent e){
label1.setText(String.valueOf(e.getValue()));
}
});
pack();
setVisible(true);
}
}
Vielen Dank im Voraus