紧急求教:网上虚拟展览馆展厅如何实现,具体效果见下面链接,Applet! 补充一下,我的email是[email protected]。很急,真的很感谢大家。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 罢了,看来你也只有这几分了吧,其实很简单的,你看一下这个目录下的东西就明白了,全部实现在jar文件中,你反编译一下即可。http://202.96.52.105:81/homepage/3w/e10/这个站点管理很弱的,连目录都可以直接访问 :) 我有源程序明天给你mail:[email protected]不要着急!:) jar文件,怎么反编译呀?谢谢你了。 jar用 winzip解开, class用decafe反编译 import java.awt.*;import java.applet.*;import java.awt.event.*;public class bt extends Applet{ int n=1,flag=1; int x=0,y=0,y1=0,x1=0; int num=48; Point locF= new Point(), locL = new Point(); Image[] image = new Image[49]; Image imagebn1,imagebn2; TextField tf=new TextField(30); public void init() { setBackground(new Color(254,255,255)); setLayout(null); tf.setBounds(1,225,240,30); tf.setLocation(1,225); tf.setBackground(Color.gray); add(tf); tf.setText(" 重庆大学制造工程研究所!"); String[] imageNames = new String[17]; String imageName; imagebn1=getImage(getCodeBase(),"image/find1.gif"); prepareImage(imagebn1,this); imagebn2=getImage(getCodeBase(),"image/find2.gif"); prepareImage(imagebn2,this); ///加载图象 for (int i =0;i <= 15;i++) { imageNames[i]=("Imagebt/Dsc2-"+String.valueOf(i)+".jpg"); int m=i*3+1; image[m] = getImage(getCodeBase(), imageNames[i]); prepareImage(image[m],this); } //// ///加载放大图象 for (int i =0;i <= 15;i++) { imageNames[i]=("Imagebt/Dsc3-"+String.valueOf(i)+".jpg"); int m=i*3+2; image[m] = getImage(getCodeBase(), imageNames[i]); prepareImage(image[m],this); } //// ///加载缩小图象 for (int i =0;i <= 16;i++) { if(i==16){imageNames[i]=("Imagebt/Dsc1-"+String.valueOf(i)+".gif");} else{imageNames[i]=("Imagebt/Dsc1-"+String.valueOf(i)+".jpg");} int m=i*3; image[m] = getImage(getCodeBase(), imageNames[i]); prepareImage(image[m],this); } repaint(); //////////////////////////////////////// addMouseListener(new MouseAdapter() {public void mouseEntered(MouseEvent e) { setCursor(new Cursor(11)); if(n==1)num=0; } public void mousePressed(MouseEvent e) { locL=e.getPoint(); setCursor(new Cursor(11)); if(((locL.x>=240)&&(locL.x<=270))&&((locL.y>=225)&&(locL.y<255))) {if(n<3) {num++; repaint(); y1=0;x1=0; n++; if(n==2)tf.setText("当前状态:图像放大一倍!"); if(n==3)tf.setText("当前状态:图像放大两倍!"); } } if(((locL.x>=270)&&(locL.x<=300))&&((locL.y>=225)&&(locL.y<255))) {if(n>=2) { num--; repaint(); y1=0;x1=0; n--; if(n==2)tf.setText("当前状态:图像缩小一倍!"); if(n==1)tf.setText("当前状态:图像缩小两倍!"); } } } public void mouseExited(MouseEvent e) { if(n==1){ num=48; repaint(); tf.setText(" 重庆大学制造工程研究所!"); } } }); addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { tf.setText("当前状态:拖动!"); locL=e.getPoint(); if(n!=1){y1+=(locL.y-locF.y); x1+=(locL.x-locF.x); repaint(); locF = locL;} } public void mouseMoved(MouseEvent e) {locL=e.getPoint(); tf.setText("当前状态:拖动!"); if(((locL.x>=210)&&(locL.x<=295))&&((locL.y>=225)&&(locL.y<255))) setCursor(new Cursor(12)); else{ setCursor(new Cursor(11)); if(locL.y<200) {if(locL.x<=locF.x){if(num>=45){num-=48;} num+=3; repaint(); } if(locL.x>=locF.x){if(num<=2){num+=48;} num-=3; repaint(); } locF = locL; }} } }); } public void update(Graphics g) { int x=0,y=0; if(n==1){x=0;y=0;} if(n==2){x=-75;y=-120;} if(n==3){x=-175;y=-250;} if(image[48].getHeight(this)>=225)flag=2; g.drawImage(image[num],x+x1,y+y1,this); g.drawImage(imagebn1,240,225,this); g.drawImage(imagebn2,270,225,this); if(flag==1)g.drawString(" 加载图像,请等待! ",10,15) ; }如果你用的是button,需改动mousePressed为button事件。 } 今天是 2001-8-21 ,不知道esaler的日子过得为什么这么慢,明日复明日。 sharetop,真抱歉。公司里让我做点其他的,没空做这个。我会尽快的。分给了。要是你作好了的话,给我发个全的吧,我真的是心有余力不足呀,谢谢! socket对象保存与获取 sychronized方法的一个疑问 关于integer类型的变量的问题!!!求解! 关于面向对象的思想! 3个色子 有多少组合类型 这个copy文件的方法能用,但从技术上讲,我的实现方法科学吗? 怎样把inputstream里面的读出来? 买错书后:语法查询高手请带路 Java中有没有直接比较两个整数大小的方法? Button和JButton的区别? 加急!!! 哪为知道jbuilder 4.0 or 5.0 ,还有jdk1.4地下在地址? 多谢!
罢了,看来你也只有这几分了吧,其实很简单的,你看一下这个目录下的东西就明白了,全部实现在jar文件中,你反编译一下即可。http://202.96.52.105:81/homepage/3w/e10/这个站点管理很弱的,连目录都可以直接访问 :)
不要着急!:)
import java.applet.*;
import java.awt.event.*;public class bt extends Applet
{
int n=1,flag=1;
int x=0,y=0,y1=0,x1=0;
int num=48;
Point locF= new Point(), locL = new Point();
Image[] image = new Image[49];
Image imagebn1,imagebn2;
TextField tf=new TextField(30); public void init()
{
setBackground(new Color(254,255,255));
setLayout(null);
tf.setBounds(1,225,240,30);
tf.setLocation(1,225);
tf.setBackground(Color.gray);
add(tf);
tf.setText(" 重庆大学制造工程研究所!");
String[] imageNames = new String[17];
String imageName;
imagebn1=getImage(getCodeBase(),"image/find1.gif");
prepareImage(imagebn1,this);
imagebn2=getImage(getCodeBase(),"image/find2.gif");
prepareImage(imagebn2,this); ///加载图象
for (int i =0;i <= 15;i++)
{ imageNames[i]=("Imagebt/Dsc2-"+String.valueOf(i)+".jpg");
int m=i*3+1;
image[m] = getImage(getCodeBase(), imageNames[i]);
prepareImage(image[m],this);
}
//// ///加载放大图象
for (int i =0;i <= 15;i++)
{ imageNames[i]=("Imagebt/Dsc3-"+String.valueOf(i)+".jpg");
int m=i*3+2;
image[m] = getImage(getCodeBase(), imageNames[i]);
prepareImage(image[m],this);
} //// ///加载缩小图象
for (int i =0;i <= 16;i++)
{ if(i==16){imageNames[i]=("Imagebt/Dsc1-"+String.valueOf(i)+".gif");}
else{imageNames[i]=("Imagebt/Dsc1-"+String.valueOf(i)+".jpg");}
int m=i*3;
image[m] = getImage(getCodeBase(), imageNames[i]);
prepareImage(image[m],this);
} repaint();
////////////////////////////////////////
addMouseListener(new MouseAdapter()
{public void mouseEntered(MouseEvent e)
{ setCursor(new Cursor(11));
if(n==1)num=0;
}
public void mousePressed(MouseEvent e)
{ locL=e.getPoint();
setCursor(new Cursor(11));
if(((locL.x>=240)&&(locL.x<=270))&&((locL.y>=225)&&(locL.y<255)))
{if(n<3)
{num++;
repaint();
y1=0;x1=0;
n++;
if(n==2)tf.setText("当前状态:图像放大一倍!");
if(n==3)tf.setText("当前状态:图像放大两倍!");
}
}
if(((locL.x>=270)&&(locL.x<=300))&&((locL.y>=225)&&(locL.y<255)))
{if(n>=2)
{ num--;
repaint();
y1=0;x1=0;
n--;
if(n==2)tf.setText("当前状态:图像缩小一倍!");
if(n==1)tf.setText("当前状态:图像缩小两倍!");
}
} }
public void mouseExited(MouseEvent e)
{ if(n==1){ num=48;
repaint();
tf.setText(" 重庆大学制造工程研究所!");
}
}
});
addMouseMotionListener(new MouseMotionAdapter()
{
public void mouseDragged(MouseEvent e)
{ tf.setText("当前状态:拖动!");
locL=e.getPoint();
if(n!=1){y1+=(locL.y-locF.y);
x1+=(locL.x-locF.x);
repaint();
locF = locL;}
}
public void mouseMoved(MouseEvent e)
{locL=e.getPoint();
tf.setText("当前状态:拖动!");
if(((locL.x>=210)&&(locL.x<=295))&&((locL.y>=225)&&(locL.y<255)))
setCursor(new Cursor(12));
else{ setCursor(new Cursor(11));
if(locL.y<200)
{if(locL.x<=locF.x){if(num>=45){num-=48;}
num+=3;
repaint();
}
if(locL.x>=locF.x){if(num<=2){num+=48;}
num-=3;
repaint();
}
locF = locL;
}}
}
});
}
public void update(Graphics g)
{
int x=0,y=0;
if(n==1){x=0;y=0;}
if(n==2){x=-75;y=-120;}
if(n==3){x=-175;y=-250;}
if(image[48].getHeight(this)>=225)flag=2;
g.drawImage(image[num],x+x1,y+y1,this);
g.drawImage(imagebn1,240,225,this);
g.drawImage(imagebn2,270,225,this);
if(flag==1)g.drawString(" 加载图像,请等待! ",10,15) ;
}
如果你用的是button,需改动mousePressed为button事件。
}
今天是 2001-8-21 ,不知道esaler的日子过得为什么这么慢,明日复明日。