Avatar billede jesperkm Nybegynder
10. april 2005 - 01:13 Der er 10 kommentarer og
1 løsning

Hjælp til g.drawString

Hvad er fejlen her?

g.drawString("Connecting to: " + getCodeBase().getHost() + ":" + port,100,100);

den siger:
Cannot find symbol - Variable port

men har en variable som hedder port:
int port = 8080;

På forhånd tak!
Avatar billede mikkelbm Nybegynder
10. april 2005 - 02:21 #1
Hvor erklære du din port?
Må vi se hele klassen?
Avatar billede jesperkm Nybegynder
10. april 2005 - 04:01 #2
Hvad mener du, kan du jo ikke compile den!
Avatar billede jesperkm Nybegynder
10. april 2005 - 04:02 #3
import java.applet.Applet;
import java.io.*;
import java.net.Socket;
import java.net.URL;
import java.awt.*;

public class test extends Applet
    implements Runnable
{



    private Socket socket;
    private Thread thread;
    private OutputStream out;
    private byte b[] = {
        1, 0
    };
    private int PingDelay;
    private boolean online;

    public test()
    {
        thread = new Thread(this);
        PingDelay = 15000;
        online = true;
    }
 
    public void run()
    {
   


        while(online)
            try
            {
                Thread.sleep(PingDelay);
                out.write(b);
             
            }
            catch(IOException e)
            {
                e.printStackTrace();
             
                closeConnection();
                openConnection();
            }
            catch(InterruptedException e)
            {
             
            }
       
    }

    private void openConnection()
    {
        int port = 8080;
        try
        {
            port = Integer.parseInt(getParameter("server.port"));
        }
        catch(Exception exception) { }

        try
        {
            socket = new Socket(getCodeBase().getHost(), port);
            out = socket.getOutputStream();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
   
    }

    private void closeConnection()
    {
       
        try
        {
            out.close();
            socket.close();
        }
        catch(IOException e)
        {
            e.printStackTrace();
        }
    }

    public void init()
    {
   
        try
        {
            PingDelay = Integer.parseInt(getParameter("client.PingDelay"));
        }
        catch(NumberFormatException numberformatexception) { }
        openConnection();
        thread.start();
    }
    public void paint(Graphics g)
    {
    setForeground(Color.red);
    setBackground(Color.white);
g.drawString("Connecting to: " + getCodeBase().getHost() + ":" + port,100,100);
    }

    public void destroy()
    {
        try
        {
            online = false;
            thread.interrupt();
            closeConnection();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
     
  }

    }
Avatar billede busschou Praktikant
10. april 2005 - 09:00 #4
jeg ved ikke om det er fordi port ligger gemt lidt "halv privat"?
Men resten af strengen skal vel laves til en streng uanset det?
g.drawString("Connecting to: " + getCodeBase().getHost() + ":" + port +",100,100");
Avatar billede arne_v Ekspert
10. april 2005 - 09:13 #5
port er en lokal variabel i openConnection og kendes ikke i paint

+ port,100,100) er god enok da ,100,100 er argumenter til drawString
Avatar billede busschou Praktikant
10. april 2005 - 09:22 #6
ok my bad
Avatar billede arne_v Ekspert
10. april 2005 - 09:49 #7
din analyse af port var helt korrekt
Avatar billede jesperkm Nybegynder
10. april 2005 - 13:33 #8
g.drawString("Connecting to: " + getCodeBase().getHost() + ":" + port,100,100)

Kan du lave sådan den vil virke?
Avatar billede arne_v Ekspert
10. april 2005 - 13:44 #9
Prøv:

g.drawString("Connecting to: " + getCodeBase().getHost() + ":" + getCodeBase().getPort(),100,100)
Avatar billede jesperkm Nybegynder
14. april 2005 - 19:18 #10
Læg svar arne.!
Avatar billede arne_v Ekspert
14. april 2005 - 20:17 #11
ok
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