Avatar billede kimlarsen Praktikant
10. september 2002 - 15:03 Der er 13 kommentarer og
1 løsning

Verdens tidszoner.

Nogen som ved hvor kan kan finde en applet som denne :

http://www.rejsefeber.dk/timezones/

Jeg ville nemlig gerne have sådan en tidszone dims ind på mit website !

Kan jeg evt. lave den selv ?
Avatar billede disky Nybegynder
10. september 2002 - 18:52 #1
du er landet lidt i den forkerte gruppe 'java' havde været mere korrekt men pyt med det.

Den applet er nok lavet ved at have et kort, og en kæmpe bunke koordinater der fortæller hvilken tidszone man har valgt, og derefter en tabel med byer osv.
Avatar billede soelvpil Nybegynder
10. september 2002 - 22:41 #2
Hvis du er nysgerrig efter at se hvordan den er lavet, kan du få fat i sourcekoden

Hent først
http://www.rejsefeber.dk/timezones/classes/GMTclock.class

Download herefter en decompiler (jeg bruger en der hedder jad, søg f.eks. på google med java+decompiler+jad).

Benyt den til at lave klassen om til sourcekode (den kalder filen for GMTclock.jad, men man kan bare omdøbe den til .java bagefter)
Avatar billede disky Nybegynder
10. september 2002 - 22:43 #3
bare søg efter 'jad' på google det er nok :)

Her er koden:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3)
// Source File Name:  GMTclock.java

import java.applet.Applet;
import java.awt.*;

public class GMTclock extends Applet
    implements Runnable
{

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

    public void paint(Graphics g)
    {
        paintBack(g);
    }

    public GMTclock()
    {
        speed = 1000;
        me = null;
        borderW = 5;
        borderH = 5;
    }

    public void update(Graphics g)
    {
        paint(g);
    }

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

    private void loadImages()
    {
        tracker = new MediaTracker(this);
        worldMapImage = getImage(getCodeBase(), "world.gif");
        tracker.addImage(worldMapImage, 0);
    }

    public void paintBack(Graphics g)
    {
        g.setColor(Color.lightGray);
        g.fillRect(0, 0, dim.width - 1, dim.height - 1);
        g.draw3DRect(1, 1, dim.width - 3, dim.height - 3, true);
        g.draw3DRect(2, 2, dim.width - 5, dim.height - 5, true);
        g.setColor(Color.black);
        g.drawRect(0, 0, dim.width - 1, dim.height - 1);
    }

    public void run()
    {
        try
        {
            tracker.waitForID(0);
        }
        catch(InterruptedException e)
        {
            return;
        }
        if(!map.isInitialized())
        {
            map.initializeMap(worldMapImage);
            control.setGMTzone(map.getGMTzone());
        }
        for(; Thread.currentThread() == me; digital.repaint())
            try
            {
                Thread.sleep(speed);
            }
            catch(InterruptedException e) { }

    }

    public void init()
    {
        dim = size();
        setBackground(Color.lightGray);
        loadImages();
        initPanels();
    }

    public boolean handleEvent(Event e)
    {
        if(e.target.equals(this))
        {
            if(e.id == 10)
            {
                control.setGMTzone((double)e.key / 60D);
                digital.setGMTzone((double)e.key / 60D);
                return true;
            }
            if(e.id == 20)
            {
                map.setGMTzone((double)e.key / 60D);
                digital.setGMTzone((double)e.key / 60D);
                return true;
            }
        }
        return false;
    }

    private void initPanels()
    {
        int tmp = dim.width - borderW * 2;
        mainPanel = new Panel();
        mainPanel.setBackground(Color.green);
        mainPanel.setLayout(new BorderLayout());
        add(mainPanel);
        map = new WorldMap(tmp);
        digital = new DigitalClock(tmp);
        control = new GMTcontrol(getCodeBase(), "gmtlist.dat", tmp);
        mainPanel.add("North", map);
        mainPanel.add("Center", digital);
        mainPanel.add("South", control);
    }

    private Dimension dim;
    private int speed;
    private Thread me;
    private int borderW;
    private int borderH;
    private Panel mainPanel;
    private Image worldMapImage;
    private WorldMap map;
    private MediaTracker tracker;
    private DigitalClock digital;
    private GMTcontrol control;
}
Avatar billede soelvpil Nybegynder
10. september 2002 - 22:43 #4
Men det er naturligvis ikke helt lovligt, så det må du aldrig gøre!
Jeg påpeger blot muligheden :-)
Avatar billede disky Nybegynder
10. september 2002 - 22:43 #5
Du skal dog hente nogle flere klasser.

Gad vide hvornår folk lærer at man skal obfuscerer sine applets.
Avatar billede soelvpil Nybegynder
10. september 2002 - 22:45 #6
disky: jeg har også lige selv decompilet, men tænkte lige jeg ville efterlade lidt arbejde til spørgeren.
Avatar billede disky Nybegynder
10. september 2002 - 22:45 #7
Forresten hvis du keder dig så kan du downloade og dekompile chatten fra www.n.dk også.

p.s. en gang skod kode :)
Avatar billede soelvpil Nybegynder
10. september 2002 - 22:47 #8
Avatar billede soelvpil Nybegynder
10. september 2002 - 22:48 #9
ok tip, jeg vil lige kigge på chatten ved lejlighed
Avatar billede soelvpil Nybegynder
10. september 2002 - 23:02 #10
damn, den er bøvlet at finde. Har du url'en til applet-classen?
Avatar billede disky Nybegynder
11. september 2002 - 06:54 #11
ikke på stående fod, men jeg kan se om jeg husker at lede når jeg får fri
Avatar billede soelvpil Nybegynder
21. september 2002 - 08:47 #12
Hold kæft hvor er det irriterende med folk der spørger, og så ikke vil uddele points, når de har fået svaret serveret på et sølvfad!
Avatar billede kimlarsen Praktikant
21. september 2002 - 13:38 #13
De er faktisk nogle rigtigt dumme fjolser, som burde have et spark i nødderne !

Men ok, kritikken er fuldstændigt berettiget - Undskyld !

Fik faktisk det hele til at virke med webmasters hjælp fra Rejsefeber og havde "glemt" at jeg postede spørgsmålet på Eksperten :-(
Avatar billede soelvpil Nybegynder
21. september 2002 - 17:15 #14
aaaahrr spark i nødderne er måske alligevel at overdrive :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester