Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 04-16-2009, 08:48 AM
Member
 
Join Date: Apr 2009
Posts: 6
Rep Power: 0
jammyjamsticy is on a distinguished road
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)?2int)(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)?18Integer.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;
}
}



}
Bookmark Post in Technorati
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


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


All times are GMT +2. The time now is 06:27 PM.



VBulletin, Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2009, Crawlability, Inc.
Copyright ©2006 - 2007, www.java-forums.org