Avatar billede france Novice
26. september 2001 - 17:20 Der er 19 kommentarer og
1 løsning

.java om til .class ??

Hej.

Jeg kender intet til JAVA... men en såkaldt
\"newsticker\" som jeg har ændret lidt i.

Så er det jo noget med at man skal \"lave\" denne
.java fil om til en .class fil ?? - eller hvad ???

Hvis JA...er der nogen der gider at gøre
det for mig ?

Har prøvet for et år siden, men har glemt hvordan.

Mic
Avatar billede connor Nybegynder
26. september 2001 - 17:22 #1
har du instaleret jdk ?
hvis ja...
Gå i dospromt og skriv:
javac filnavn.java
Avatar billede france Novice
26. september 2001 - 17:25 #2
den siger noget ERROR

Hvor skal min JAVA fil ligge ?
Avatar billede jacobve Nybegynder
26. september 2001 - 17:27 #3
jeg kan godt lave den om... hvis du altså gider at poste koden her, så skal jeg nok compliere den og ligge den op, så du kan hente den.
Avatar billede connor Nybegynder
26. september 2001 - 17:30 #4
evt...
gå fra dospromt ind i c:\\jdk1.3\\bin
Skriv:
javac c:\\filnavn.java
Herefter skulle der komme en fil ved navn filnavn.class
Avatar billede france Novice
26. september 2001 - 17:30 #5
Er du \"cool\" til JAVA ?
For hvis du gider, så kunne jeg sende dig de nødvendige filer og du kunne evt. se om jeg havde gjort det så der nu skulle ændres rigtigt ?
Avatar billede jacobve Nybegynder
26. september 2001 - 17:33 #6
du kan jo altid prøve... så kan jeg jo se hvad jeg kan gøre...

bare smid koden her.
Avatar billede france Novice
26. september 2001 - 17:37 #7
Jeg prøver.... Umiddelbart skal jeg bare have den til at bruge skrift typen Verdana i stedet for Arial/Helvetica...

Her er indholdet af NewsTicker.java

//******************************************************************************
// NewsTicker.java:    Applet
//
//******************************************************************************
import java.applet.*;
import java.awt.*;
import java.util.*;
import java.net.*;
import java.io.*;

//==============================================================================
// Main Class for applet NewsTicker
//
//==============================================================================
public class NewsTicker extends bApplet implements Runnable
{
    // General data members
    //--------------------------------------------------------------------------
    private Vector m_headers = new Vector();
    private Vector m_urls = new Vector();
    private int m_sel = -1;
    private int m_headerCount = 0;
    private int m_currHeader = 0;
    private Thread m_thread;
    private Image m_imgBuffer = null;
    private int m_scrollPos = 14;
    private boolean m_over = false;
    private boolean m_pause = false;
    private int m_cursory;
    private boolean m_activatepause = false;
    private boolean m_firstrender = true;

    // PARAMETER SUPPORT:
    //        Parameters allow an HTML author to pass information to the applet;
    // the HTML author specifies them using the <PARAM> tag within the <APPLET>
    // tag.  The following variables are used to store the values of the
    // parameters.
    //--------------------------------------------------------------------------

    // Members for applet parameters
    // <type>      <MemberVar>    = <Default Value>
    //--------------------------------------------------------------------------
    private String m_newsfile = \"news.txt\";
    private int m_x = 0;
    private int m_y = 0;
    private int m_cx = 0;
    private int m_cy = 0;
    private String m_background = \"\";
    private Color m_bgcolor;
    private Color m_textcolor;
    private Color m_hilitecolor;
    private String m_frame = null;

    // Parameter names.  To change a name of a parameter, you need only make
    // a single change.  Simply modify the value of the parameter string below.
    //--------------------------------------------------------------------------
    private final String PARAM_newsfile = \"newsfile\";
    private final String PARAM_x = \"x\";
    private final String PARAM_y = \"y\";
    private final String PARAM_cx = \"cx\";
    private final String PARAM_cy = \"cy\";
    private final String PARAM_background = \"background\";
    private final String PARAM_bgcolor = \"bgcolor\";
    private final String PARAM_textcolor = \"textcolor\";
    private final String PARAM_hilitecolor = \"hilitecolor\";
    private final String PARAM_frame = \"frame\";
    private final String PARAM_pause = \"pause\";

    // Variables. 
    //--------------------------------------------------------------------------
    private Image m_imgBackground;
    private Font m_font;

    // NewsTicker Class Constructor
    //--------------------------------------------------------------------------
    public NewsTicker()
    {
        m_font = new Font(\"Verdana\", Font.PLAIN, 18);
    }

    // APPLET INFO SUPPORT:
    //        The getAppletInfo() method returns a string describing the applet\'s
    // author, copyright date, or miscellaneous information.
    //--------------------------------------------------------------------------
    public String getAppletInfo()
    {
        return \"Name: NewsTicker\\r\\n\" +
              \"Author: John Mannix\\r\\n\" +
              \"Created with Microsoft Visual J++ Version 1.1\";
    }

    // PARAMETER SUPPORT
    //        The getParameterInfo() method returns an array of strings describing
    // the parameters understood by this applet.
    //
    // NewsTicker Parameter Information:
    //  { \"Name\", \"Type\", \"Description\" },
    //--------------------------------------------------------------------------
    public String[][] getParameterInfo()
    {
        String[][] info =
        {
            { PARAM_newsfile, \"String\", \"News text file\" },
            { PARAM_x, \"int\", \"X position of news view\" },
            { PARAM_y, \"int\", \"Y position of news view\" },
            { PARAM_cx, \"int\", \"Width of news view\" },
            { PARAM_cy, \"int\", \"Height of news view\" },
            { PARAM_background, \"String\", \"Background image URL\" },
            { PARAM_bgcolor, \"String\", \"Background colour \'R,G,B\'\" },
            { PARAM_textcolor, \"String\", \"Text colour \'R,G,B\'\" },
            { PARAM_hilitecolor, \"String\", \"Highlight colour \'R,G,B\'\" },
            { PARAM_frame, \"String\", \"Frame used to launch URLs\" },
            { PARAM_pause, \"String\", \"Whether to activate pause\" }
        };
        return info;       
    }

    // The init() method is called by the AWT when an applet is first loaded or
    // reloaded.  Override this method to perform whatever initialization your
    // applet needs, such as initializing data structures, loading images or
    // fonts, creating frame windows, setting the layout manager, or adding UI
    // components.
    //--------------------------------------------------------------------------
    public void init()
    {
        // PARAMETER SUPPORT
        //        The following code retrieves the value of each parameter
        // specified with the <PARAM> tag and stores it in a member
        // variable.
        //----------------------------------------------------------------------
        String param;

        // newsfile: News text file
        //----------------------------------------------------------------------
        param = getParameter(PARAM_newsfile);
        if (param != null)
            m_newsfile = param;

        // x: X position of news view
        //----------------------------------------------------------------------
        param = getParameter(PARAM_x);
        if (param != null)
            m_x = Integer.parseInt(param);

        // y: Y position of news view
        //----------------------------------------------------------------------
        param = getParameter(PARAM_y);
        if (param != null)
            m_y = Integer.parseInt(param);

        // cx: Width of news view
        //----------------------------------------------------------------------
        param = getParameter(PARAM_cx);
        if (param != null)
            m_cx = Integer.parseInt(param);

        // cy: Height of news view
        //----------------------------------------------------------------------
        param = getParameter(PARAM_cy);
        if (param != null)
            m_cy = Integer.parseInt(param);

        // background: Background image URL
        //----------------------------------------------------------------------
        param = getParameter(PARAM_background);
        if (param != null)
            m_background = param;

        // pause: Whether to activate pause
        //----------------------------------------------------------------------
        param = getParameter(PARAM_pause);
        if (param != null)
        {
            m_activatepause = true;
            m_scrollPos += m_y + m_cy;
        }

        // bgcolor: Background colour
        //----------------------------------------------------------------------
        StringTokenizer t;
        String bgcolor = getParameter(PARAM_bgcolor);
        if (bgcolor != null)
        {
            t = new StringTokenizer(bgcolor, \",\");
            m_bgcolor = new Color(Integer.parseInt(t.nextToken()),
                Integer.parseInt(t.nextToken()),
                Integer.parseInt(t.nextToken()));
            setBackground(m_bgcolor);
        }

        // textcolor: Text colour
        //----------------------------------------------------------------------
        String textcolor = getParameter(PARAM_textcolor);
        if (textcolor != null)
        {
            t = new StringTokenizer(textcolor, \",\");
            m_textcolor = new Color(Integer.parseInt(t.nextToken()),
                Integer.parseInt(t.nextToken()),
                Integer.parseInt(t.nextToken()));
        }
        else
            m_textcolor = Color.black;

        // hilitecolor: Highlight colour
        //----------------------------------------------------------------------
        textcolor = getParameter(PARAM_textcolor);
        if (textcolor != null)
        {
            t = new StringTokenizer(textcolor, \",\");
            m_hilitecolor = new Color(Integer.parseInt(t.nextToken()),
                Integer.parseInt(t.nextToken()),
                Integer.parseInt(t.nextToken()));
        }
        else
            m_hilitecolor = Color.red;

        // frame: Frame used to launch URLs
        //----------------------------------------------------------------------
        m_frame = getParameter(PARAM_frame);
       
        // Load the background image and prepare it
        //----------------------------------------------------------------------
        m_imgBackground = getImage(getDocumentBase(), m_background);
        prepareImage(m_imgBackground, this);

        // Read the news file into an array
        //----------------------------------------------------------------------
        readNewsFile();
    }

    // Place additional applet clean up code here.  destroy() is called when
    // when you applet is terminating and being unloaded.
    //-------------------------------------------------------------------------
    public void destroy()
    {
    }

    // NewsTicker Paint Handler
    //--------------------------------------------------------------------------
    public void paint(Graphics g)
    {
        if (m_imgBuffer == null)
        {
            m_imgBuffer = createImage(size().width, size().height);
            render();
        }

        g.drawImage(m_imgBuffer, 0, 0, null);
    }

    public void render()
    {
        if (m_imgBuffer != null)
        {
            Graphics g = m_imgBuffer.getGraphics();
            g.setColor(m_bgcolor);
            g.fillRect(0, 0, size().width, size().height);
            g.drawImage(m_imgBackground, 0, 0, this);
            g.clipRect(m_x, m_y, m_cx, m_cy);
            g.translate(0, m_scrollPos);
            g.setColor(m_textcolor);
            g.setFont(m_font);

            String line;
            int y = m_y, i;
            m_pause = false;
            boolean reset = false;
            m_sel = -1;

            while (y + m_scrollPos < m_y + m_cy + 34)
            {
                for (i = 0; i < m_headerCount; i++)
                {
                    if (m_over)
                    {
                        line = (String)m_headers.elementAt(i);
                        int height = 0, index = 0;
                        while (line.indexOf(\'|\', index) > 0)
                        {
                            height+=14;
                            index = line.indexOf(\'|\', index)+1;
                        }

                        if (m_cursory+14 > y+m_scrollPos && m_cursory < y+height+m_scrollPos)
                        {
                            m_sel = i;
                            g.setColor(m_hilitecolor);
                        }
                    }

                    if (y + m_scrollPos == m_y + 14) m_pause = true;

                    StringTokenizer t = new StringTokenizer((String)m_headers.elementAt(i), \"|\");
                    while (t.hasMoreTokens())
                    {
                        line = t.nextToken();
                        g.drawString(line, m_x, y);
                        y += 14;
                    }
                    y += 24;

                    g.setColor(m_textcolor);
                }

                if (y + m_scrollPos < m_y) reset = true;
            }

            if (reset) m_scrollPos = 0;
        }
    }

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

    // The start() method is called when the page containing the applet
    // first appears on the screen. The AppletWizard\'s initial implementation
    // of this method starts execution of the applet\'s thread.
    //--------------------------------------------------------------------------
    public void start()
    {
        m_thread = new Thread(this);
        m_thread.start();
    }
   
    // The stop() method is called when the page containing the applet is
    // no longer on the screen. The AppletWizard\'s initial implementation of
    // this method stops execution of the applet\'s thread.
    //--------------------------------------------------------------------------
    public void stop()
    {   
        m_thread.stop();
    }

    // The run() method is called when by m_thread and implements the
    // header animations between the display of each news item.
    //--------------------------------------------------------------------------
    public void run()
    {
        try
        {
            while (true)
            {
                if (m_pause && m_activatepause) m_thread.sleep(4000);
                else if (m_activatepause) m_thread.sleep(20);
                else m_thread.sleep(100);
                //m_currHeader = (m_currHeader+1) % m_headerCount;
                m_scrollPos--;
                repaint();
            }
        }
        catch (InterruptedException e)
        {
        }
    }


    // MOUSE SUPPORT:
    // The mouseDown() method is called if the mouse button is pressed
    // while the mouse cursor is over the applet\'s portion of the screen.
    //--------------------------------------------------------------------------
    public boolean mouseDown(Event evt, int x, int y)
    {
        if (m_sel >= 0 && m_sel < m_headerCount)
        {
            if (m_frame == null)
                getAppletContext().showDocument((URL)m_urls.elementAt(m_sel));
            else
                getAppletContext().showDocument((URL)m_urls.elementAt(m_sel), m_frame);
        }

        return true;
    }

    // MOUSE SUPPORT:
    // The mouseUp() method is called if the mouse button is released
    // while the mouse cursor is over the applet\'s portion of the screen.
    //--------------------------------------------------------------------------
    public boolean mouseUp(Event evt, int x, int y)
    {
        return true;
    }

    public boolean mouseEnter(Event evt, int x, int y)
    {
        stop();
        m_over = true;
        m_cursory = y;
        repaint();
        return true;
    }

    public boolean mouseExit(Event evt, int x, int y)
    {
        start();
        m_over = false;
        m_cursory = y;
        repaint();
        return true;
    }

    public boolean mouseMove(Event evt, int x, int y)
    {
        m_cursory = y;
        repaint();
        return true;
    }

    // Read the news file into m_headers, one line per entry.
    //-------------------------------------------------------------------------
    private void readNewsFile()
    {
        String line;
        int count = 0;
       
        try
        {
            URL url = new URL(getCodeBase(), m_newsfile);

            try
            {
                DataInputStream in = new DataInputStream(url.openStream());
   
                do
                {
                    line = in.readLine();
                    if (line != null)
                    {
                        StringTokenizer t = new StringTokenizer(line, \"~\");
                        m_headers.addElement(t.nextToken());
                        if (t.hasMoreTokens())
                            m_urls.addElement(new URL(getDocumentBase(), t.nextToken()));
                        m_headerCount++;
                    }
                } while (line != null);
            }
            catch (IOException e)
            {
            }
        }
        catch (MalformedURLException e)
        {
            System.err.println(\"Could not open news feed file.\");
        }
    }
}
Avatar billede france Novice
26. september 2001 - 18:28 #8
Hva\'så jacobve 
er det noget du kan klare for mig :-) ?
Avatar billede france Novice
26. september 2001 - 19:36 #9
jacobve ???  Er du der ???
Avatar billede erikjacobsen Ekspert
26. september 2001 - 20:04 #10
Han kan nok ikke uden bApplet.java eller bApplet.class
Avatar billede france Novice
26. september 2001 - 20:09 #11
Kan du så hjælpe erikjackobsen ?

Kan jeg e-maile dig de filer så, og kan du rette det så den bruge Verdana som font ???
Avatar billede jacobve Nybegynder
26. september 2001 - 20:26 #12
Ja, jeg er der, men du har ret jeg har lidt problemer med at compilere det... kender slet ikke bApplet...??

Glemte at melde tilbage inden jeg smuttede væk fra puteren...sorry.
Avatar billede erikjacobsen Ekspert
26. september 2001 - 20:27 #13
Næh, det er vel nogen du har, ik\' ?
Avatar billede kristian21 Praktikant
27. september 2001 - 11:59 #14
Jeg hentede bApplet og rettede programmet, og alligevel fik jeg 28 fejl. Man skal vist bruge.

import bApplet;

Der hvor der står:
public class NewsTicker extends Applet
...skal ændres til extends bApplet.

Nu er jeg dog langt fra en javahaj, men ved ikke om dette kan hjælpe.
Avatar billede kristian21 Praktikant
27. september 2001 - 12:16 #15
Hej france.

Gå ind på:
http://www.chimport.dk/eksperten/newsticker.html

og download den zip-fil jeg har lagt til dig. Så håber jeg det er i orden....

Mvh. Kristian21
Avatar billede france Novice
27. september 2001 - 13:18 #16
Hej Kristian21

hehe... det er lige præcis den NewsTicker som jeg bruger :-)
Problemet er bare, at jeg ville ændre skrifttypen
fra Arial til Verdana og det kan du ikke \"bare\" gøre med mindre man ændre i .java filen og compilere den til .class fil.

- ellers tak :-)
Avatar billede kristian21 Praktikant
27. september 2001 - 13:23 #17
Der følger en javafil med i den zip-pakke jeg har lagt til dig. Den har jeg allerede ændret til verdana, hvis du kigger i NewsTicker.java. Derefter har jeg compilet den igen, så den burde da have ændre skrifttypen...

Men prøv lige at se kildekoden igennem.
Avatar billede france Novice
27. september 2001 - 15:15 #18
Jeg beklager... men jeg kan godt se at du har ændret skrifttypen til Verdana... men den bruge IKKE Verdana, men stadig Arial.

Kender du tilfældigvis en anden NewsTicker... måske en med nogle flere muligheder ?
Avatar billede kristian21 Praktikant
27. september 2001 - 17:07 #19
Det var ikke lang tid siden jeg sad og eksperimenterede med en ticker lavet i (d)html, men jeg tror desværre at jeg er kommet til at slette den. Den eneste jeg ved, er at jeg læste om det på Eksperten.
Ellers har jeg aldrig selv brugt en NewsTicker, men jeg skal give dig besked hvis jeg finder en...
Avatar billede kristian21 Praktikant
27. september 2001 - 17:10 #20
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