Results 1 to 3 of 3
  1. #1
    jammyjamsticy is offline Member
    Join Date
    Apr 2009
    Posts
    6
    Rep Power
    0

    Default Convert THE APPLET CODE TO SWING USING JPANEL

    THIS CODE IS USED TO CREATE FIRE EFFECT PLS IF SOMEONE CAN CONVERT IT TO SWING IT EXTENDS APPLET PLS DO IT USING JPANEL
    //package fire;




    import java.awt.*;
    import java.awt.image.BufferedImage;

    public class fire1 extends java.applet.Applet implements Runnable {
    boolean first=true;
    int ROWS = 100;
    int COLS = 100;
    int HIDDEN = 4;
    int ROWS_SEED = 4;
    int ROWS_RESEED = 48;
    int MAX_SEED =8;
    int PALETTE_SIZE = 64;
    int COOLING_LIMIT = 32;
    int COOLING_ROWS = 42;
    int COOLING_FACTOR = 0;
    java.awt.Color palette[] = new java.awt.Color[PALETTE_SIZE];
    byte Buffer[],Buffer2[];
    String message,textfont;
    int textsize,textX,textY;
    Color textcolor;
    BufferedImage offScrImage=null;
    Graphics offScrGC;
    Dimension offScrSize;

    Thread kicker=null;

    // public String getAppletInfo() {
    // return "Fire";
    // }
    //
    // public String[][] getParameterInfo() {
    // String[][] info = {
    // {"coolingrows", "int", "number of rows to cool"},
    // {"coolingfactor", "int", "cooling factor"},
    // {"coolinglimit", "int", "cooling threshold"},
    // {"soundtrack", "url", "background sound"},
    // {"text", "String", "message"},
    // {"textcolor", "String", "text color"},
    // {"textfont", "String", "text font"},
    // {"textsize", "int", "text size"}
    // };
    // return info;
    // }

    public void init() {
    int r,i;
    String aux;
    // Set some constants
    COLS = size().width;
    ROWS = size().height + HIDDEN;
    // Get parameters
    aux=getParameter("coolinglimit");
    if((aux!=null)&&(aux.endsWith("%"))) { aux=aux.substring(0,aux.length()-1); }
    COOLING_LIMIT = (aux==null)?(int)(PALETTE_SIZE*0.5):(int)(PALETTE_ SIZE*(Integer.valueOf(aux).intValue())/100);
    aux=getParameter("coolingrows");
    if((aux!=null)&&(aux.endsWith("%"))) { aux=aux.substring(0,aux.length()-1); }
    COOLING_ROWS = (aux==null)?(int)(ROWS*0.8):(int)(ROWS*(Integer.va lueOf(aux).intValue())/100);
    aux=getParameter("coolingfactor");
    COOLING_FACTOR= (aux==null)?2:(int)(Integer.valueOf(aux).intValue( ));
    ROWS_RESEED = (int)(ROWS*0.96);
    // Get text parameters
    aux = getParameter("text");
    message=(aux==null)?"":aux;
    aux = getParameter("textfont");
    textfont=(aux==null)?"TimesRoman":aux;
    aux=getParameter("textsize");
    textsize=(aux==null)?18:(Integer.valueOf(aux).intV alue());
    aux=getParameter("textcolor");
    textcolor=hexColor(aux,Color.white);
    // Setup buffers;
    Buffer = new byte[COLS*ROWS];
    Buffer2 = new byte[COLS*ROWS];
    // Setup palette
    for(i=0; i<16; ++i)
    palette[i]= new Color(16*i,0,0);
    for(i=0; i<16; ++i)
    palette[16+i] = new Color(255, 16*i, 0);
    for(i=0; i<32; ++i)
    palette[32+i] = new Color(255,255,8*i);
    // Setup text
    Font myFont=new Font(textfont, Font.BOLD, textsize);
    FontMetrics myMetrix=getFontMetrics(myFont);
    int textH=myMetrix.getHeight();
    int textW=myMetrix.stringWidth(message);
    textX=(int)((COLS-textW)/2);
    textY=ROWS-HIDDEN-(int)((ROWS-HIDDEN-textH)/2)-myMetrix.getDescent();
    setFont(myFont);
    // Seed image
    for(r=COLS*(ROWS-ROWS_SEED); r<(ROWS*COLS); ++r) {
    Buffer[r]=(byte)(Math.random()*(PALETTE_SIZE-1));
    }
    }

    void MainLoop() {
    int r,a,i;
    for(r=COLS+1;r<(COLS*(ROWS-1))-1;++r) {
    a=Buffer[r-COLS-1]+Buffer[r-COLS]+Buffer[r-COLS+1]+Buffer[r-1]+Buffer[r+1]+
    Buffer[r+COLS-1]+Buffer[r+COLS]+Buffer[r+COLS+1];
    // a=(a>>3)%PALETTE_SIZE;
    a=(a>>3);
    // Cool flames
    if(a<COOLING_LIMIT) {
    if((r<COOLING_ROWS*COLS)&&(a>COOLING_FACTOR)) a-=COOLING_FACTOR;
    }
    Buffer2[r]=(byte)(a);
    }
    // Seed at base
    for(r=COLS*(ROWS_RESEED);r<COLS*(ROWS);++r) {
    a=Buffer2[r];
    Buffer2[r]=(byte)((a-(Math.random()*MAX_SEED))%(PALETTE_SIZE*3000.1));
    //Buffer2[r]=(byte)((a-(Math.random()*MAX_SEED))%PALETTE_SIZE);
    }
    // Scroll image
    for(i=0;i<COLS*(ROWS-1);++i)
    Buffer[i]=Buffer2[i+COLS];
    }

    public final synchronized void update(Graphics g) {
    // Setup off-screen buffer
    Dimension d=size();
    if((offScrImage==null)||(d.width!=offScrSize.width )||(d.height!=offScrSize.height)) {
    offScrImage=(BufferedImage) createImage(d.width,d.height);
    offScrSize=d;
    offScrGC=offScrImage.getGraphics();
    offScrGC.setFont(getFont());
    }
    if (offScrGC!=null) {
    offScrGC.fillRect(0,0,d.width,d.height);
    paint(offScrGC);
    g.drawImage(offScrImage,0,0,null);
    }
    }

    public void paint(Graphics g) {
    int a;
    Color c;
    // Do main loop
    MainLoop();
    // Copy buffer to off-screen buffer
    for(int y=0;y<(ROWS-HIDDEN);++y)
    for(int x=0;x<COLS;++x) {
    a=Buffer[y*COLS+x];
    a=a<0?-a:a; // Patch nasty bug
    a=a<(PALETTE_SIZE-1)?(a):(PALETTE_SIZE-1);
    c=palette[a];
    try {
    offScrGC.setColor(c);
    offScrGC.drawLine(x,y,x+1,y);
    } catch (Exception e) { }
    }
    try {
    // Write text
    offScrGC.setColor(textcolor);
    offScrGC.drawString(message,textX,textY);
    // Paint off-screen buffer
    g.drawImage(offScrImage,0,0,this);
    } catch (Exception e) { }

    }

    public void start() {
    if (kicker==null) {
    kicker=new Thread(this);
    // kicker.setPriority(kicker.MAX_PRIORITY);
    kicker.start();
    }
    }

    public void stop() {
    kicker=null;
    }

    public void run() {
    while(kicker!=null) {
    repaint();
    try {kicker.sleep(15);} catch (InterruptedException e) {}
    }
    }

    // Place fire bubble on click
    public boolean mouseDown(java.awt.Event evt, int x, int y) {
    int i;
    i=x+y*COLS;
    if(i>81) {
    Buffer[i]=(byte)255;
    Buffer[i-COLS]=(byte)255;
    Buffer[i+COLS]=(byte)255;
    Buffer[i-1]=(byte)255;
    Buffer[i+1]=(byte)255;
    }
    return true;
    }

    public Color hexColor(String hex, Color std) {
    try {
    Integer rgb=new Integer(0);
    hex.replace('#',' ');
    hex.trim();
    rgb=Integer.valueOf(hex,16);
    return new Color(rgb.intValue());
    } catch (Exception e) {
    return std;
    }
    }



    }

  2. #2
    AdilSun is offline Member
    Join Date
    Dec 2011
    Posts
    1
    Rep Power
    0

    Default Re: Convert THE APPLET CODE TO SWING USING JPANEL

    Please post html in which applet is embeded.
    I want to see the parameter values.

    Swing code is ready

  3. #3
    pbrockway2 is offline Moderator
    Join Date
    Feb 2009
    Location
    New Zealand
    Posts
    4,585
    Rep Power
    12

    Default Re: Convert THE APPLET CODE TO SWING USING JPANEL

    Java Code:
    /* 
     * Permission to use, copy, modify and distribute this software and its
     * documentation without fee for NON-COMMERCIAL purposes is hereby granted
     * provided that this notice with a reference to the original source and
     * the author appears in all copies or derivatives of this software.
     *
     * THE AUTHOR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
     * THIS SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
     * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
     * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THE AUTHOR SHALL NOT BE LIABLE FOR
     * ANY DAMAGES SUFFERED BY ANYBODY AS A RESULT OF USING, MODIFYING OR
     * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
     */
    
    import java.awt.*;
    import java.lang.*;
    
    /**
     * fire - A firelike display
     * Inspired by VangelisTeam's PC fire demo
     * 
     * @version 1.0, 12/21/95
     * @author <A HREF="http://www.data.net.mx/~jrodrig/">Javier Rodriguez</A> (jrodrig@data.net.mx) 
     */

Similar Threads

  1. how to convert SWING GUI into exe format
    By santhosh_el in forum AWT / Swing
    Replies: 7
    Last Post: 04-04-2009, 01:36 PM
  2. help?! paint on top of swing components on JPanel
    By beam2008 in forum AWT / Swing
    Replies: 1
    Last Post: 12-05-2008, 05:15 AM
  3. Convert to Applet
    By Urgle in forum New To Java
    Replies: 1
    Last Post: 11-12-2008, 02:15 PM
  4. how to draw x-y graph in Jpanel.--not in APPLET.
    By vincent2001@gmail.com in forum New To Java
    Replies: 2
    Last Post: 08-24-2008, 06:01 AM
  5. Convert a program to Applet
    By carl in forum Java Applets
    Replies: 2
    Last Post: 08-09-2007, 10:33 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •