old-www/LDP/LG/issue29/hamilton/Controls.java

58 lines
2.7 KiB
Java

package Jcd; // -- Listing-3 -- Controls.java// 1
// 2
import java.io.*; // 3
import java.util.*; // 4
import java.awt.*; // 5
import java.awt.event.*; // 6
// 7
import Jcd.SmartDrive; // 8
import Jcd.Monitor; // 9
// 10
class Controls // 11
extends Panel
implements ActionListener {
// 12
// Control panel, buttons: play, stop, eject ...
// 14
private SmartDrive cdPlayer; // 15
// 16
private Button play = new Button("Play"); // 17
private Button pause = new Button("Pause");// 18
private Button stop = new Button("Stop"); // 19
private Button next = new Button("Next"); // 20
private Button prev = new Button("Prev"); // 21
private Button eject = new Button("Eject");// 22
// 23
public Controls(SmartDrive drive) // 24
{ // 25
cdPlayer = drive; // 26
setLayout(new GridLayout(1, 6, 2, 2)); // 27
add(play); add(stop); add(pause); // 28
add(prev); add(next); add(eject);
} // 29
// 30
private void add(Button b) { // 31
b.addActionListener(this); // 32
super.add(b); // 33
} // 34
// 35
public void actionPerformed(ActionEvent event) {
try { // 37
Object source = event.getSource(); // 38
// 39
if (source == play) cdPlayer.startPlaying();
else if (source == stop) cdPlayer.stop();
else if (source == next) cdPlayer.next();
else if (source == prev) cdPlayer.prev();
else if (source == pause)
cdPlayer.togglePause();
else if (source == eject) cdPlayer.eject();
} // 45
catch (DriveException except) { // 46
System.out.println("Exception " + except);
} // 48
} // 49
// 50
} // 51
// 52