Java程序的运行需要经历三个步骤:
编辑
编译
运行
其中,编辑是编写源码的过程,编译是将源码编译成.class文件。运行时,找的就是.class文件,运行程序时,以main函数为入口,开始执行程序,重点是,下次程序运行时,JVM虚拟机不会再次编译源码,而是直接寻找对应的.class文件,从而运行程序。
所以,编译源码后,如果有新的修改,需要重新编译,生成.class文件,然后,才会执行。
修改源码后若不编译便直接运行,JVM使用的仍然是上一次运行的.class文件。
import java.applet.Applet
import java.awt.Button
import java.awt.Color
import java.awt.Graphics
import java.awt.TextField
import java.awt.event.ActionEvent
public class Nicki extends Applet{
private static final long serialVersionUID = 1L
private Button ok
private int num=32
private int resu=0
private boolean isRig=false
private TextField iPut
public Nicki(){
this.setLayout(null)
ok=new Button("OK")
ok.setActionCommand(getName())
ok.setBounds(150, 150, 40, 20)
iPut=new TextField()
this.add(iPut)
iPut.setBounds(100, 150, 40, 20)
this.add(ok)
ok.addActionListener(new ButtonAction(this))
}
public void paint(Graphics g){
g.setColor(Color.white)
g.fillRect(0, 0, this.getWidth(), this.getHeight())
g.setColor(Color.BLACK)
g.drawString("Please guess a number ", 10, 20)
g.drawString("between 1 and 100", 10, 40)
if(isRig==false&&resu!=0){
if(resu>num){
g.drawString(""+resu+" is too big !", 10, 100)
}else if(resu<num){
g.drawString(resu+"is too small !", 10, 100)
}
}else if(isRig==true){
g.setColor(Color.GREEN)
g.drawString("Yes,"+resu+" is the right number", 10, 80)
g.drawString("Your are great! ", 10, 100)
g.setColor(Color.red)
g.drawString(resu+"!", 70, 120)
}
iPut.setText("")
g.drawString("Input the number:", 0, 150)
}
public void ButtonActionPerformed(ActionEvent e){
if(e.getActionCommand().equals("panel0")){
resu=Integer.parseInt(iPut.getText())
if(num==resu){
isRig=true
}else{
isRig=false
}
repaint()
}
}
}
class ButtonAction implements java.awt.event.ActionListener{
Nicki su
public ButtonAction(Nicki bun){
this.su=bun
}
public void actionPerformed(ActionEvent e) {
su.ButtonActionPerformed(e)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)