summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/examples/Listing3302.java
blob: 122da099cc74b3286a0abc1a4b9d56b6c96dae14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/* Listing3302.java */

import java.awt.*;
import java.awt.event.*;

class MyDialog3302
extends Dialog
implements ActionListener
{
  public MyDialog3302(Frame parent)
  {
    super(parent,"MyDialog3302",true);
    setBounds(100,100,400,300);
    setBackground(Color.lightGray);
    setLayout(new BorderLayout());
    Panel panel = new Panel();
    customizeLayout(panel);
    add(panel, BorderLayout.CENTER);
    //Ende-Button
    Button button = new Button("Ende");
    button.addActionListener(this);
    add(button, BorderLayout.SOUTH);
    pack();
    //Window-Ereignisse
    addWindowListener(
      new WindowAdapter() {
        public void windowClosing(WindowEvent event)
        {
          endDialog();
        }
      }
    );
  }

  private void customizeLayout(Panel panel)
  {
    panel.setLayout(new FlowLayout());
    panel.add(new Segment7(0));
    panel.add(new Segment7(1));
    panel.add(new Segment7(2));
    panel.add(new Segment7(3));
    panel.add(new Segment7(4));
    panel.add(new Segment7(5));
    panel.add(new Segment7(6));
    panel.add(new Segment7(7));
    panel.add(new Segment7(8));
    panel.add(new Segment7(9));
  }

  public void actionPerformed(ActionEvent event)
  {
    String cmd = event.getActionCommand();
    if (cmd.equals("Ende")) {
      endDialog();
    }
  }

  void endDialog()
  {
    setVisible(false);
    dispose();
    ((Window)getParent()).toFront();
    getParent().requestFocus();
  }
}

public class Listing3302
extends Frame
implements ActionListener
{
  public static void main(String[] args)
  {
    Listing3302 wnd = new Listing3302();
    wnd.setSize(300,200);
    wnd.setVisible(true);
  }

  public Listing3302()
  {
    super("7-Segment-Anzeige");
    setBackground(Color.lightGray);
    setLayout(new FlowLayout());
    //Dialog-Button
    Button button = new Button("Dialog");
    button.addActionListener(this);
    add(button);
    //Ende-Button
    button = new Button("Ende");
    button.addActionListener(this);
    add(button);
    //Window-Ereignisse
    addWindowListener(new WindowClosingAdapter(true));
  }

  public void actionPerformed(ActionEvent event)
  {
    String cmd = event.getActionCommand();
    if (cmd.equals("Dialog")) {
      MyDialog3302 dlg = new MyDialog3302(this);
      dlg.setVisible(true);
    } else if (cmd.equals("Ende")) {
      setVisible(false);
      dispose();
      System.exit(0);
    }
  }
}