📄 lucky.java
字号:
import java.applet.*;
import java.awt.*;
import java.net.*;
import java.awt.event.*;
public class Lucky extends Applet implements ActionListener
{
Panel pNorth=new Panel();
PicPanel pCenter=new PicPanel();
Panel pBottom=new Panel();
TextField txField=new TextField(10);
Label label=new Label("请输入你对商品价格的估计:");
private int nPrice=1100; /*定义私有变量商品的价格*/
public Lucky()
{
super();
this.setLayout(new BorderLayout());/*选择窗口的布局*/
pNorth.add(label);
pNorth.add(txField);
add(pNorth,BorderLayout.NORTH);/*标签放在窗口的上方*/
add(pCenter,BorderLayout.CENTER);//图片方在窗口的中央
Button btStart=new Button("开始游戏");
Button btOk=new Button("确定");
Button btCancel=new Button("取消");
btStart.setActionCommand("start");
btStart.addActionListener(this);
btOk.setActionCommand("ok");
btOk.addActionListener(this);
btCancel.setActionCommand("cancel");
btCancel.addActionListener(this);
pBottom.add(btStart);
pBottom.add(btOk);
pBottom.add(btCancel); //开始按钮,确定按钮,取消按钮
add(pBottom,BorderLayout.SOUTH);//放置在窗口的下方
setBackground(Color.white); //选定窗口的颜色
}
public void actionPerformed(ActionEvent evt)
{
if(evt.getActionCommand().equals("start"))
{
pCenter.initImg();
label.setText("请输入你对N3100价格的估计:");
pCenter.repaint();
}
else if(evt.getActionCommand().equals("ok"))
{
int guessPrice=0;
try
{
guessPrice=Integer.parseInt(txField.getText().trim());
String guess=comparePrice(guessPrice);
new MsgDlg(guess);
}
catch(Exception e)
{
e.printStackTrace();
}
}
else if(evt.getActionCommand().equals("cancel"))
{
txField.setText("");
}
}
/**创建游戏的主界面,包括一个价格输入框和两个按钮当按下"确定"按钮时
* 程序根据设定的价格对用户输入的价格进行比较并弹出相应的结果!
*/
public String comparePrice(int guessPrice)
{
if(guessPrice==nPrice)
{
return"你猜对了,恭喜你!";
}
else if(guessPrice>nPrice)
{
return"你猜的价格过高,请重新猜!";
}
else if(guessPrice<nPrice)
{
return"你猜的价格过低,请重新猜!";
}
return"出错了!";
}
/**这是价格比较方法,当用户输入不同的价格时就有相应的提示
* 发送给用户.
*/
}
class PicPanel extends Panel
{
String fileName="0157.jpg";
Image m_img;
public void initImg()
{
URL url=null;
try
{
url=Class.forName("Lucky").getResource("0157.jpg");
} //引入一张图片
catch(Exception e){}
m_img=getToolkit().getImage(url);
MediaTracker mt=new MediaTracker(this);
mt.addImage(m_img,1);
try
{
mt.wait();
mt.checkAll();
}
catch(Exception e){}
}
public void paint(Graphics g) /*这个方法作用是画定图片显示框的大小*/
{
g.drawImage(m_img,120,30,150,160,this);
}
}
/**定义一个PicPanel类它的主要作用是根据用户的请求调入一张图片
*/
class MsgDlg extends Frame implements ActionListener
{
Label label=new Label();
public MsgDlg(String strMsg)
{
super();
setTitle("猜的结果");
Panel p=new Panel();
add(p);
p.add(label);
label.setText(strMsg);
setSize(300,100);
setLocation(100,200);
Button btOk=new Button("确定");
btOk.addActionListener(this);
p.add(btOk);
show();
}
public void actionPerformed(ActionEvent evt)
{
this.dispose();
}
}
/**响应用户输入的弹出窗口,相当于一个消息框
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -