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

📄 myticketsale.java

📁 实现电影票的购买
💻 JAVA
字号:
import java.applet.*;
import java.awt.*;
import java.util.*;
class clock2 implements Runnable            //时钟线程
{
 Date m_date;
 Thread m_runner=null;
  TextField gr;
  TextField gt;
  public clock2(TextField r,TextField t)          // r提取日期、 t提取时间
  {
    gr=r;
    gt=t;
    if(m_runner==null)
    {
      m_runner=new Thread(this);
      m_runner.start();
    }
  }
public void stop()
	{
		if (m_runner != null)
		{
			m_runner.stop();
			m_runner = null;
		}
	}
  public void run()
  {
    while(true)
    {
      m_date=new Date();
      String temp1=new String("日期:"+String.valueOf(1+m_date.getMonth())+"/"+String.valueOf(m_date.getDate())+"/"+String.valueOf(1900+m_date.getYear()));
      String temp2=new String("时间:"+String.valueOf(m_date.getHours())+":"+String.valueOf(m_date.getMinutes())+":"+String.valueOf(m_date.getSeconds()));
      gr.setText(temp1);
      gt.setText(temp2);
      try{
         Thread.sleep(1000);
         }
      catch(InterruptedException e){}
     }
  }
}
     



public class MyTicketSale extends Applet implements Runnable     //主程序开端
{
	private Thread    m_TicketSale = null;
	private Graphics m_Graphics;
	private Image        m_Images[];
	private int m_nCurrImage=0;
	private boolean  m_fAllLoaded = false;
	private final int NUM_IMAGES =9;
                   TextField TextField1,TextField2;
                   clock2 pp;
		
	private boolean m_fStandAlone = false;
		
	TextField tRemain,tSold,tTotal;
	int remain=200;
                   int sold=0;
                   int total=0;
	Button mybutton;
	Dimension butd;
                AudioClip audio; //audio为AudioClip对象
	
	public void init()
	{
    	resize(1024,600);                 //规定页面大小
	
		setBackground(Color.pink);
                                      setFont(new Font("TimesRoman",Font.BOLD,10));
                                      setLayout(null);
		addSeat();           //画座号
		TextField1=new TextField();
                                      TextField2=new TextField();
	                   add(TextField1);
                                      add(TextField2);
                                      TextField1.setFont(new Font("TimesRoman",Font.BOLD,15));
                                     TextField2.setFont(new Font("TimesRoman",Font.BOLD,15));
                                      TextField1.reshape(600,10,150,30);
                                      TextField2.reshape(600,60,150,30);
                                      pp=new clock2(TextField1,TextField2);      //日期和时钟
						
		tRemain=new TextField(Integer.toString(remain)+"张",10);
		tRemain.setEditable(false);
		add(tRemain); 
                                      tRemain.setFont(new Font("TimesRoman",Font.BOLD,15));
		tRemain.reshape(400,160,80,20);				
		tSold=new TextField(Integer.toString(sold)+"张",10);
		tSold.setEditable(false);
                                      tSold.setFont(new Font("TimesRoman",Font.BOLD,15));
		add(tSold);
		tSold.reshape(100,160,80,20);			
		tTotal=new TextField(Integer.toString(total)+"元",10);
		tTotal.setEditable(false);
		add(tTotal); 
                                       tTotal.setFont(new Font("TimesRoman",Font.BOLD,15));
		tTotal.reshape(640,160,80,30);
                                      m_Graphics = getGraphics();	
                                       
                                      TextField myTextField1=new TextField("今日电影:");                                                                                                               myTextField1.setForeground(Color.red);
                                      myTextField1.setFont(new Font("TimesRoman",Font.BOLD,20));
                                       add(myTextField1);
                                       myTextField1.reshape(300,10,150,30);
                                      TextField myTextField2=new TextField("大话西游");                                                                                                                              myTextField2.setForeground(Color.blue);
                                      myTextField2.setFont(new Font("TimesRoman",Font.BOLD,30));
                                       add(myTextField2);
                                       myTextField2.reshape(300,60,150,40);
              		 TextField myTextField3=new TextField("售出票:");
                                      myTextField3.setFont(new Font("TimesRoman",Font.BOLD,15));
                                       add(myTextField3);
                                       myTextField3.reshape(10,160,80,20);
                                      TextField myTextField4=new TextField("剩余票:");
                                      myTextField4.setFont(new Font("TimesRoman",Font.BOLD,15));
                                       add(myTextField4);
                                       myTextField4.reshape(300,160,80,20);    
		 TextField myTextField5=new TextField("总金额:");
                                       myTextField5.setFont(new Font("TimesRoman",Font.BOLD,15));
                                       add(myTextField5);
                                       myTextField5.reshape(550,160,80,20);
                                      
              TextField myTextField6=new TextField("票价:1--3排 10元;4--6排 5元;7--10排 2元");
                                       myTextField6.setForeground(Color.blue);
                                       myTextField6.setFont(new Font("TimesRoman",Font.BOLD,15));
                                       add(myTextField6);
                                       myTextField6.reshape(5,195,500,20); 
                                       audio=getAudioClip(getCodeBase(),"spacemusic.au") ;   
				
	}


	public void addSeat()
	{
		
		int xx,yy;
		
		for(int i=1;i<=10;i++)
		{
			yy=230+35*(i-1);
			for(int j=1;j<=20;j++)
			{
				xx=50*(j-1);
				Button mybutton=new Button(Integer.toString(i)+"排"+
					Integer.toString(j)+"列");
				add(mybutton);
				mybutton.show();
				mybutton.move(xx,yy);
				mybutton.resize(50,30);
					
				
			}
		}
	}

	public void destroy()
	{                 audio.stop();
		pp.stop();
	}

    private void displayImage(Graphics g)
	{
		if (!m_fAllLoaded)
			return;
	
		g.drawImage(m_Images[m_nCurrImage],1,1,200,150,  null);     //放动画

	}

	public void paint(Graphics g)
	{
		if (m_fAllLoaded)
		{
			displayImage(g);
		}
		else
			g.drawString("Loading images...", 10, 20);

	}

	public boolean action(Event evt, Object arg)
	{
		int price=0;
		if (evt.target instanceof Button)
		{
			Button btn = (Button)evt.target;
			String label3 = btn.getLabel();
		    switch(label3.charAt(0))                  //设定价格
			{
			case '1':         {if (label3.charAt(1)=='0') 
                                                                                           {price=2;}
                                                                                      else  
                                                                                           price=10;} break;
                                                          case '2': price=10; break;
                                                          case '3': price=10; break;
			case '4': price=5; break;
                                                          case '5': price=5; break;
                                                          case '6': price=5; break;
			case '7': price=2; break;
                                                          case '8': price=2; break;
                                                          case '9': price=2; break;
                                                         		
			default: return false;
			}
			btn.setLabel("已售出");     //标明卖出
			btn.disable();
			remain--;
			sold++;
			total+=price;
			tRemain.setText(Integer.toString(remain)+"张");
			tSold.setText(Integer.toString(sold)+"张");
			tTotal.setText(Integer.toString(total)+"元");
			}
		return true;
	}

	public void start()
	{                  audio.loop();
		if (m_TicketSale == null)
		{
			m_TicketSale = new Thread(this);
			m_TicketSale.start();
		}
	}
	
	public void stop()
	{
		if (m_TicketSale != null)
		{
			m_TicketSale.stop();
			m_TicketSale = null;
		}
	}

	public void run()
	{
		m_nCurrImage = 0;
	    if (!m_fAllLoaded)
		{
    		repaint();
                                     
    		
    		m_Images   = new Image[NUM_IMAGES];
		MediaTracker tracker = new MediaTracker(this);
    		String strImage;
	
			for (int i = 1; i <= NUM_IMAGES; i++)
    		{
    			strImage = "images/movie" + ((i < 10) ? "0" : "") + i + ".jpg";
    			if (m_fStandAlone)
    				m_Images[i-1] = Toolkit.getDefaultToolkit().getImage(strImage);
    			else
    				m_Images[i-1] = getImage(getDocumentBase(), strImage);

                tracker.addImage(m_Images[i-1], 0);
    		}
			try
			{
				tracker.waitForAll();
				m_fAllLoaded = !tracker.isErrorAny();
			}
			catch (InterruptedException e)
			{
			stop();
			}
			
			if (!m_fAllLoaded)
			{
			    stop();
			    m_Graphics.drawString("Error loading images!", 10, 10);
			    return;
			}
			
        }		
		repaint();

		while (true)
		{
			try
			{
				displayImage(m_Graphics);
				m_nCurrImage++;
				if (m_nCurrImage == NUM_IMAGES)
					m_nCurrImage = 0;
			   
				Thread.sleep(3000);
			}
			catch (InterruptedException e)
			{
				stop();
			}
		}
	}

	

	
}


⌨️ 快捷键说明

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