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

📄 lucky52.java

📁 自己改编的
💻 JAVA
字号:
/*
设计一个类似幸运52的游戏;此程序是借鉴网上的一些代码,
自己在通过仔细琢磨运用自己所学的知识编写而成得到的,
唯一美中不足的是布局,此处应该不用布局管理器,否则自
己定义的框架大小无法实现。
*/
import java.applet.*;
import java.awt.*;
import java.net.*;
import java.awt.event.*;
import java.awt.image.*;
import java.awt.Graphics;
import java.net.URL;


public class Lucky52 extends Applet implements ActionListener//此处一定要实现applet接口,否则下面无法实现本地图片加载
{
	Frame f;
	Panel pnlNorth;
	MyImgPanel pnlCenter; //自定义一个面板
	Panel pnlBottom;
	TextField txtField; //定义
	Label label; //定义标签
	Button btnStart, btnOk,btnCancel,btnQuit; //定义按钮
	private int truePrice=3250; //用于存放该商品对应的价格

	public Lucky52() //构造函数
	{
		//各种组件开辟空间
		f=new Frame("幸运52");
		pnlNorth=new Panel();
		pnlCenter=new MyImgPanel();//图片的显示

		pnlBottom=new Panel();
		txtField=new TextField(10);
	    label=new Label("请输入你对商品价格的估计:");
		//创建功能按钮
		btnStart=new Button("start");
	    btnOk=new Button("ok");
		btnCancel=new Button("cancel");
		btnQuit=new Button("quit");
	}
	public void launchFrame()
	{
		//f.setResizable(false);

		f.setBounds(160,60,360,300);
		f.setLayout(new BorderLayout());   //设置为边界布局管理器
		pnlNorth.add(label);//将标签添加到pnlNorth面板中
		pnlNorth.add(txtField);//将文本框添加到pnlNorth面板中
		f.add(pnlNorth,BorderLayout.NORTH);//设置pnlNorth的位置
		f.add(pnlCenter,BorderLayout.CENTER);//设置pnlCenter的位置

        //给功能按钮添加事件监听器
		btnStart.addActionListener(this);
		btnOk.addActionListener(this);
	;   btnCancel.addActionListener(this);
	    btnQuit.addActionListener(this);

        //对窗口事件进行监听 ( 关闭窗体事件 )
	    f.addWindowListener(new WindowAdapter(){
		public void windowClosing(WindowEvent e){
		System.exit(0);}});

        //把功能按钮加入到Panel组件中,并显示
		pnlBottom.add(btnStart);
		pnlBottom.add(btnOk);
		pnlBottom.add(btnCancel);
		pnlBottom.add(btnQuit);
		f.add(pnlBottom,BorderLayout.SOUTH);//设置pnlBottom的位置
		f.setBackground(Color.white);//设置Frame背景色为白色

		//显示框架窗口
		f.pack();
        f.setVisible(true);
	}

    /*
    实现各种按钮的功能
    */
	public void actionPerformed(ActionEvent evt)
	{
		if(evt.getActionCommand().equals("start"))
		{
			pnlCenter.initImg();
			label.setText("请输入你对商品价格的估计:");
			pnlCenter.repaint();//强制awt重绘面板
		}
		else if(evt.getActionCommand().equals("ok"))
		{
			int guessPrice=0;
			try
			{
				guessPrice=Integer.parseInt(txtField.getText().trim());
				String guess=comparePrice(guessPrice);
				new MsgDlg(guess);
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}
		}
		else if(evt.getActionCommand().equals("cancel"))
		{
			txtField.setText(""); //文本框置空
		}
		else if(evt.getActionCommand().equals("quit"))
		{
			System.exit(0); //退出窗体
		}
	}
	public String comparePrice(int guessPrice)
	{
		if(guessPrice==truePrice)
		{
			return "猜对了,恭喜你!";
		}
		else if(guessPrice>truePrice)
		{
			return "猜的价格过高,请重新猜!";
		}
		else if(guessPrice<truePrice)
		{
			return "猜的价格过低,请再加价!";
		}
		return "出错了!";
	}
	/*
	在面板上加载一张本地图片
	*/
	private class MyImgPanel extends Applet
	{
		String fileName="A95.jpg";
		Image myImage;
		public void initImg()
		{
	        URL url=null;
	        try
	        {
	        	url=Class.forName("Lucky52").getResource("A95.jpg");//得到图像
	        }
	        catch(Exception e){}
	        myImage=getToolkit().getImage(url);//得到一个Toolit对象并由其负责取对象
	        MediaTracker myTracker=new MediaTracker(this); //实例化媒体装载器
	        myTracker.addImage(myImage,1);//将图片添加到媒体装载器中
	        try{
	            myTracker.wait();
	            myTracker.checkAll();
	        }
	        catch(Exception e){}
		}
		public void paint(Graphics g)
		{
			g.drawImage(myImage,135,30,55,75,this);// 绘制图片
		}
	}
	 /*
	     功能:弹出窗口
	 */

	private class MsgDlg extends Frame implements ActionListener
	{
		Label label=new Label();
		public MsgDlg(String strMsg)
		{
			super("猜测结果显示");
			Panel myPanel=new Panel();
			add(myPanel);
			myPanel.add(label);
			label.setText(strMsg);//
			setSize(200,100);
			setLocation(300,200);
			Button btnOk=new Button("确定");
			btnOk.addActionListener(this);
			myPanel.add(btnOk);
			setVisible(true);
		}
		public void actionPerformed(ActionEvent evt)
		{
			this.dispose();
		}
	}
	/*
	mian函数
	*/
	public static void main(String args[])
	{
		Lucky52 cc=new  Lucky52();
	    cc.launchFrame();
    }

}


⌨️ 快捷键说明

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