首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

高分悬赏:怎样把一个jframe程序转为applet程序?解决办法

2012-01-15 
高分悬赏:怎样把一个jframe程序转为applet程序?问题描述:有一个算法程序(内存消耗比较大),用的Jframe框架。

高分悬赏:怎样把一个jframe程序转为applet程序?
问题描述:有一个算法程序(内存消耗比较大),用的Jframe框架。
现在想把它放到网上,给别人用。
解决办法:提供一个.class文件,使别人可以把它下载下来使用。
这样就要把这个程序变为applet程序,
问题:1.请问可以把它嵌到applet中吗?
  2.如果不可以,能否提出一个新的解决办法?
  3.如果有热心人,我可以把代码拿出来,请高手帮忙弄的。

[解决办法]
既然是下载下来后使用,使用 JFrame 也应该是可以

要改成Applet,需要将 JFrame 替换,稍作改动就可以了,即把 JFrame 下的Pane,添加到 Applet中
[解决办法]
如果你的Applet放在网上,其他人可以通过网络访问来执行,不需主动下载

网上的程序你可以随时修改、更新
[解决办法]
看我的列子:
applet文件类

Java code
/**   @version 1.32 2004-07-27   @author Cay Horstmann*/import java.applet.Applet;import java.awt.*;import java.awt.event.*;import java.awt.geom.*;import java.util.*;import javax.swing.*;/**   Shows an animated bouncing ball.*/public class BounceThread extends Applet{   public BounceThread()   {      JFrame frame = new BounceFrame();//      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      frame.setVisible(true);   }}/**   A runnable that animates a bouncing ball.*/class BallRunnable implements Runnable{   /**      Constructs the runnable.      @aBall the ball to bounce      @aPanel the component in which the ball bounces   */   public BallRunnable(Ball aBall, Component aComponent)    {       ball = aBall;       component = aComponent;   }   public void run()   {      try      {         for (int i = 1; i <= STEPS; i++)         {            ball.move(component.getBounds());            component.repaint();            Thread.sleep(DELAY);         }      }      catch (InterruptedException e)      {           System.out.println("被中断了");      }   }   private Ball ball;   private Component component;   public static final int STEPS = 1000;   public static final int DELAY = 5;}/**   A ball that moves and bounces off the edges of a    rectangle*/class Ball{   /**      Moves the ball to the next position, reversing direction      if it hits one of the edges   */   public void move(Rectangle2D bounds)   {      x += dx;      y += dy;      if (x < bounds.getMinX())      {          x = bounds.getMinX();         dx = -dx;      }      if (x + XSIZE >= bounds.getMaxX())      {         x = bounds.getMaxX() - XSIZE;          dx = -dx;       }      if (y < bounds.getMinY())      {         y = bounds.getMinY();          dy = -dy;      }      if (y + YSIZE >= bounds.getMaxY())      {         y = bounds.getMaxY() - YSIZE;         dy = -dy;       }   }   /**      Gets the shape of the ball at its current position.   */   public Ellipse2D getShape()   {      return new Ellipse2D.Double(x, y, XSIZE, YSIZE);   }   private static final int XSIZE = 15;   private static final int YSIZE = 15;   private double x = 0;   private double y = 0;   private double dx = 1;   private double dy = 1;}/**   The panel that draws the balls.*/class BallPanel extends JPanel{   /**      Add a ball to the panel.      @param b the ball to add   */   public void add(Ball b)   {      balls.add(b);   }   public void paintComponent(Graphics g)   {      super.paintComponent(g);      Graphics2D g2 = (Graphics2D) g;      for (Ball b : balls)      {         g2.fill(b.getShape());      }   }   private ArrayList<Ball> balls = new ArrayList<Ball>();}/**   The frame with panel and buttons.*/class BounceFrame extends JFrame{   /**      Constructs the frame with the panel for showing the      bouncing ball and Start and Close buttons   */   public BounceFrame()   {      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);      setTitle("BounceThread");      panel = new BallPanel();      add(panel, BorderLayout.CENTER);      JPanel buttonPanel = new JPanel();      addButton(buttonPanel, "Start",         new ActionListener()         {              public void actionPerformed(ActionEvent event)            {               addBall();            }         });            addButton(buttonPanel, "Close",         new ActionListener()         {            public void actionPerformed(ActionEvent event)            {               System.exit(0);            }         });      add(buttonPanel, BorderLayout.SOUTH);   }   /**      Adds a button to a container.      @param c the container      @param title the button title      @param listener the action listener for the button   */   public void addButton(Container c, String title, ActionListener listener)   {      JButton button = new JButton(title);      c.add(button);      button.addActionListener(listener);   }   /**      Adds a bouncing ball to the canvas and starts a thread      to make it bounce   */   public void addBall()   {      Ball b = new Ball();      panel.add(b);      Runnable r = new BallRunnable(b, panel);      Thread t = new Thread(r);      t.start();   }   private BallPanel panel;   public static final int DEFAULT_WIDTH = 450;   public static final int DEFAULT_HEIGHT = 350;     public static final int STEPS = 1000;   public static final int DELAY = 3;} 


[解决办法]
帮顶,祝楼主好运

热点排行
Bad Request.