SecondCounterLockupMain.java
上传用户:songled
上传日期:2022-07-14
资源大小:94k
文件大小:2k
源码类别:

进程与线程

开发平台:

Java

  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. import javax.swing.border.*;
  5. public class SecondCounterLockupMain extends JPanel {
  6. private SecondCounterLockup sc;
  7. private JButton startB;
  8. private JButton stopB;
  9. public SecondCounterLockupMain() {
  10. sc = new SecondCounterLockup();
  11. startB = new JButton("Start");
  12. stopB = new JButton("Stop");
  13. stopB.setEnabled(false);  // begin with this disabled
  14. startB.addActionListener(new ActionListener() {
  15. public void actionPerformed(ActionEvent e) {
  16. // disable to stop more "start" requests
  17. startB.setEnabled(false);
  18. // Run the counter --watch out big trouble here!
  19. sc.runClock();
  20. stopB.setEnabled(true);
  21. stopB.requestFocus();
  22. }
  23. });
  24. stopB.addActionListener(new ActionListener() {
  25. public void actionPerformed(ActionEvent e) {
  26. stopB.setEnabled(false);
  27. sc.stopClock();
  28. startB.setEnabled(true);
  29. startB.requestFocus();
  30. }
  31. });
  32. JPanel innerButtonP = new JPanel();
  33. innerButtonP.setLayout(new GridLayout(0, 1, 0, 3));
  34. innerButtonP.add(startB);
  35. innerButtonP.add(stopB);
  36. JPanel buttonP = new JPanel();
  37. buttonP.setLayout(new BorderLayout());
  38. buttonP.add(innerButtonP, BorderLayout.NORTH);
  39. this.setLayout(new BorderLayout(10, 10));
  40. this.setBorder(new EmptyBorder(20, 20, 20, 20));
  41. this.add(buttonP, BorderLayout.WEST);
  42. this.add(sc, BorderLayout.CENTER);
  43. }
  44. public static void main(String[] args) {
  45. SecondCounterLockupMain scm = new SecondCounterLockupMain();
  46. JFrame f = new JFrame("Second Counter Lockup");
  47. f.setContentPane(scm);
  48. f.setSize(320, 200);
  49. f.setVisible(true);
  50. f.addWindowListener(new WindowAdapter() {
  51. public void windowClosing(WindowEvent e) {
  52. System.exit(0);
  53. }
  54. });
  55. }
  56. }