class file veranderen

Status
Niet open voor verdere reacties.

filip semey

Gebruiker
Lid geworden
26 sep 2003
Berichten
82
ik heb een java-applet genaamd rainbowtext.class. de achtergrond kleur is zwart, en ik wil wit. er is geen optie voorzien dus ik denk dat ik die class file moet openen en zelf veranderen. met welk programma doe ik dat? en kan je die file dan openen of zal hij voorzien zijn van een password? zal hij gecodeerd zijn?

html-code is:
<APPLET code="RainbowText.class" WIDTH="400" HEIGHT="40">
<PARAM name="text" VALUE="Rainbow Text Applet">
</APPLET>

class file in bijlage. hernoem extensie "rar" terug in "class"
 

Bijlagen

Even verder zoeken en je vindt de andere parameters.

PHP:
<param name="bgcolor"value="000000">
<param name="fontname" value="TimesRoman">
<param name="fontsize" value="36">
<param name="fontstyle" value="I">
<param name="sleeptime" value="100">
<param name="text" value="tekst">
 
Code:
import java.applet.Applet;
import java.awt.*;

public class RainbowText extends Applet
    implements Runnable
{

    String str;
    int strlen;
    Thread runner;
    char theChars[];
    int charOffsets[];
    Color colors[];
    int phase;
    Image offScreenImage;
    Graphics offScreenG;
    Font f;
    FontMetrics fm;

    public void init()
    {
        int i = 20;
        str = getParameter("text");
        if(str == null)
        {
            str = "Museum of Java Applets";
        }
        f = new Font("TimesRoman", 1, 36);
        fm = getFontMetrics(f);
        resize(40 + fm.stringWidth(str), 40);
        setBackground(Color.black);
        strlen = str.length();
        theChars = new char[strlen];
        charOffsets = new int[strlen];
        str.getChars(0, strlen, theChars, 0);
        colors = new Color[strlen];
        for(int j = 0; j < strlen; j++)
        {
            float f1 = (float)j / (float)strlen;
            colors[j] = new Color(Color.HSBtoRGB(f1, 1.0F, 1.0F));
            charOffsets[j] = i;
            i += fm.charWidth(theChars[j]);
        }

        offScreenImage = createImage(size().width, size().height);
        offScreenG = offScreenImage.getGraphics();
        offScreenG.setFont(f);
    }

    public void start()
    {
        if(runner == null)
        {
            runner = new Thread(this);
            runner.start();
        }
    }

    public void stop()
    {
        if(runner != null)
        {
            runner.stop();
            runner = null;
        }
    }

    public void run()
    {
        while(runner != null) 
        {
            try
            {
                Thread.sleep(100L);
            }
            catch(InterruptedException _ex) { }
            repaint();
        }
    }

    public void update(Graphics g)
    {
        offScreenG.setColor(Color.[b]black[/b]);
        offScreenG.fillRect(0, 0, size().width, size().height);
        phase++;
        phase %= str.length();
        for(int j = 0; j < strlen; j++)
        {
            int i = charOffsets[j];
            offScreenG.setColor(colors[(phase + j) % strlen]);
            offScreenG.drawChars(theChars, j, 1, i, 30);
        }

        paint(g);
    }

    public void paint(Graphics g)
    {
        g.drawImage(offScreenImage, 0, 0, this);
    }

    public RainbowText()
    {
    }
}

ik heb de "black" even in white gewijzigd.
that should do the trick...

t.
 
helaas pindakaas!

de suggestie van Tiborv werkt niet. Resultaat: grijze rechthoek.
de suggestie van teacher; ik heb je code in Kladblok gezet en gesaved als RainbowText.class. De applet werkt dan niet meer :-( Ook grijze rechthoek.
Je zegt dan wel dat je black door white hebt vervangen maar in je code zie ik duidelijk 2x black staan. Ik heb dan maar die twee verwijzingen door white vervangen maar ook dan werkte de applet niet.
Het kan natuurlijk dat ik iets fout doe!
De code van Tiborv wordt volgens mij:

<body>
<p>
<APPLET code="RainbowText.class" WIDTH="400" HEIGHT="40">
<PARAM name="text" VALUE="Rainbow Text Applet"> <param name="bgcolor"value="333333">
<param name="fontname" value="TimesRoman">
<param name="fontsize" value="36">
<param name="fontstyle" value="I">
<param name="sleeptime" value="100">
<param name="text" value="tekst">
</APPLET>
</p>
</body>


die kleur 333333 heb ik gekozen, maar 000000 en FFFFFF werken evenmin. Jij voegt trouwens nog eens de parameter "text value aan toe. Komt die niet in conflict met de bovenste versie?

Aan Toborv de vraag: hoe kom je aan die parameters? Gevonden in die class-file of passen die standaard bij alle class-files?
Aan teacher de vraag: met welk prog heb je die class-file geopend?
 
Jammer dat het niet werkt, ik heb het scriptje ook gedownload en e.e.a. uitgeprobeerd, kennelijk zijn er meerdere versies.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan