⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frame1.java~38~

📁 操作系统实验(java) 设计一个模拟若干售票网点的售票程序。 (1) 可以在任一网点查询; (2) 给出售票信息。
💻 JAVA~38~
字号:
package tips;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2006</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class Frame1 extends JFrame {
  int number=100;
  JPanel contentPane;
  Button button1 = new Button();
  Button button2 = new Button();
  Button button3 = new Button();
  Button button4 = new Button();
  JLabel jLabel2 = new JLabel();
  Button button6 = new Button();
  Button button11 = new Button();
  Button button12 = new Button();
  Button button13 = new Button();
  Button button14 = new Button();
  JLabel jLabel5 = new JLabel();
  TextField textField1 = new TextField();
  JLabel jLabel6 = new JLabel();
  JLabel jLabel1 = new JLabel();
  TextArea textArea1 = new TextArea();

  //Construct the frame
  public Frame1() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception  {
    contentPane = (JPanel) this.getContentPane();
    button1.setFont(new java.awt.Font("Dialog", 0, 14));
    button1.setLabel("售票点1");
    button1.setBounds(new Rectangle(314, 107, 86, 28));
    contentPane.setLayout(null);
    this.setLocale(java.util.Locale.getDefault());
    this.setSize(new Dimension(550, 377));
    this.setTitle("模拟多窗口售票程序");
    button2.setFont(new java.awt.Font("Dialog", 0, 14));
    button2.setLabel("售票点2");
    button2.setBounds(new Rectangle(426, 107, 87, 28));
    button3.setFont(new java.awt.Font("Dialog", 0, 14));
    button3.setLabel("售票点3");
    button3.setBounds(new Rectangle(312, 205, 89, 29));
    button4.setFont(new java.awt.Font("Dialog", 0, 14));
    button4.setLabel("售票点4");
    button4.setBounds(new Rectangle(431, 211, 90, 27));
    jLabel2.setFont(new java.awt.Font("Dialog", 0, 14));
    jLabel2.setText("剩余票数:");
    jLabel2.setBounds(new Rectangle(78, 329, 75, 35));
    button6.setFont(new java.awt.Font("Dialog", 0, 13));
    button6.setLabel("退出");
    button6.setBounds(new Rectangle(388, 327, 78, 25));
    button6.addActionListener(new Frame1_button6_actionAdapter(this));
    jLabel5.setBackground(Color.pink);
    jLabel5.setFont(new java.awt.Font("Dialog", 0, 14));
    jLabel5.setForeground(Color.black);
    jLabel5.setToolTipText("");
    button11.setFont(new java.awt.Font("Dialog", 0, 12));
    button11.setLabel("购买");
    button11.setLocale(java.util.Locale.getDefault());
    button11.setBounds(new Rectangle(326, 156, 60, 25));
    button11.addActionListener(new Frame1_button11_actionAdapter(this));
    button12.setFont(new java.awt.Font("Dialog", 0, 12));
    button12.setLabel("购买");
    button12.setBounds(new Rectangle(443, 156, 58, 25));
    button13.setFont(new java.awt.Font("Dialog", 0, 12));
    button13.setLabel("购买");
    button13.setBounds(new Rectangle(326, 264, 58, 25));
    button13.addActionListener(new Frame1_button13_actionAdapter(this));
    button14.setFont(new java.awt.Font("Dialog", 0, 12));
    button14.setLabel("购买");
    button14.setBounds(new Rectangle(445, 269, 63, 25));
    button14.addActionListener(new Frame1_button14_actionAdapter(this));
    jLabel5.setText("交易情况:");
    jLabel5.setBounds(new Rectangle(123, 72, 84, 22));
    textField1.setEditable(false);
    textField1.setText("100");
    textField1.setBounds(new Rectangle(155, 334, 78, 22));
    jLabel6.setFont(new java.awt.Font("Dialog", 0, 11));
    jLabel6.setText("AP0206523   刘宇");
    jLabel6.setBounds(new Rectangle(265, 50, 106, 30));
    jLabel1.setFont(new java.awt.Font("Dialog", 0, 20));
    jLabel1.setRequestFocusEnabled(true);
    jLabel1.setText("多 窗 口 售 票 系 统");
    jLabel1.setBounds(new Rectangle(216, 20, 196, 28));
    textArea1.setText("");
    textArea1.setBounds(new Rectangle(48, 105, 226, 210));
    contentPane.add(button3, null);
    contentPane.add(jLabel1, null);
    contentPane.add(jLabel5, null);
    contentPane.add(button1, null);
    contentPane.add(button11, null);
    contentPane.add(button2, null);
    contentPane.add(button12, null);
    contentPane.add(button4, null);
    contentPane.add(button13, null);
    contentPane.add(button14, null);
    contentPane.add(jLabel2, null);
    contentPane.add(textField1, null);
    contentPane.add(button6, null);
    contentPane.add(textArea1, null);
    contentPane.add(jLabel6, null);
    button12.addActionListener(new Frame1_button12_actionAdapter(this));
  }

  public class MulThread extends java.lang.Thread
  {
    StringBuffer buffer;
    public MulThread ()
    {
      buffer =new StringBuffer();
    }
    public void run ()
    {
      synchronized (buffer)    //使用代码块级关键字synchronized对代码上锁
      {
        try
        {
          number=number-1;
        }
        catch (Exception e) {}
      }
    }
  }
  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      System.exit(0);
    }
  }

  void button11_actionPerformed(ActionEvent e) {
    Thread t1=new Thread(new MulThread());
    t1.start();
    if(number<=0)
      textArea1.append("对不起,票已售完!");
    else
      textArea1.append("你在售票点1成功购买了1张票,欢迎再度光临!\n");
    textField1.setText(""+number+"");
  }

  void button12_actionPerformed(ActionEvent e) {
    Thread t2=new Thread(new MulThread());
    t2.start();
    if(number<=0)
      textArea1.append("对不起,票已售完!");
    else
      textArea1.append("你在售票点2成功购买了1张票,欢迎再度光临!\n");
    textField1.setText(""+number+"");

  }

  void button13_actionPerformed(ActionEvent e) {
    Thread t3=new Thread(new MulThread());
    t3.start();
    if(number<=0)
      textArea1.append("对不起,票已售完!");
    else
      textArea1.append("你在售票点3成功购买了1张票,欢迎再度光临!\n");
    textField1.setText(""+number+"");

  }

  void button14_actionPerformed(ActionEvent e) {
    Thread t4=new Thread(new MulThread());
    t4.start();
    if(number<=0)
      textArea1.append("对不起,票已售完!");
    else
      textArea1.append("你在售票点4成功购买了1张票,欢迎再度光临!\n");
    textField1.setText(""+number+"");

  }

  void button6_actionPerformed(ActionEvent e) {
System.exit(0);
  }

  void button7_actionPerformed(ActionEvent e) {
System.exit(0);
  }

  void button8_actionPerformed(ActionEvent e) {
System.exit(0);
  }

  void button9_actionPerformed(ActionEvent e) {
System.exit(0);
  }

  void button10_actionPerformed(ActionEvent e) {
System.exit(0);
  }
}

class Frame1_button11_actionAdapter implements java.awt.event.ActionListener {
  Frame1 adaptee;

  Frame1_button11_actionAdapter(Frame1 adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.button11_actionPerformed(e);
  }
}

class Frame1_button12_actionAdapter implements java.awt.event.ActionListener {
  Frame1 adaptee;

  Frame1_button12_actionAdapter(Frame1 adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.button12_actionPerformed(e);
  }
}

class Frame1_button13_actionAdapter implements java.awt.event.ActionListener {
  Frame1 adaptee;

  Frame1_button13_actionAdapter(Frame1 adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.button13_actionPerformed(e);
  }
}

class Frame1_button14_actionAdapter implements java.awt.event.ActionListener {
  Frame1 adaptee;

  Frame1_button14_actionAdapter(Frame1 adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.button14_actionPerformed(e);
  }
}

class Frame1_button6_actionAdapter implements java.awt.event.ActionListener {
  Frame1 adaptee;

  Frame1_button6_actionAdapter(Frame1 adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.button6_actionPerformed(e);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -