variabele uitlezen

  • Onderwerp starter Onderwerp starter QuuN
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

QuuN

Gebruiker
Lid geworden
1 aug 2007
Berichten
30
Ik heb in een programma een variabele die in een methode een waarde krijgt. Deze waarde wil ik vervolgens in een andere methode uitlezen, echter heeft deze opeens de waarde null. Iemand enig idee hoe ik dit kan oplossen?

Het betreft hier de variabele value, die de waarde uitleest die binnenkomt via een Comm poort
Code:
    public void serialEvent(SerialPortEvent event) 
    {
    
        switch(event.getEventType()) 
        {
        	case SerialPortEvent.BI:
        	case SerialPortEvent.OE:
        	case SerialPortEvent.FE:
        	case SerialPortEvent.PE:
        	case SerialPortEvent.CD:
        	case SerialPortEvent.CTS:
        	case SerialPortEvent.DSR:
        	case SerialPortEvent.RI:
        	case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
            break;
        	case SerialPortEvent.DATA_AVAILABLE:
            readBuffer = new byte[3];
            try 
            {
                while (inputStream.available() > 0) 
                {
                    int numBytes = inputStream.read(readBuffer);
                    System.out.println("Wat is dit: " + numBytes);
                }
                
               	String value = new String(readBuffer);
               	System.out.print(value);
            } 
            
            catch (IOException e) {System.out.println(e);}
            break;
        }
    }

Hier wil ik de waarde gebruiken, echter krijg ik een foutelding dat ik value niet kan parsen. Dit komt omdat tegen mij verwachting de waarde null is ipv een String.
Code:
     public static void setColor()
     {
     
        value2 = Integer.parseInt(value);

     	if(((value2 >> counter) & 00000001) == 1)
     	{
     		kleur = Color.red;
     	}
     	else
     	{
     		kleur = Color.green;
     	}
     	if(counter < 8)
     	{
     		counter++;
     	}
     	else
     	{
      		counter = 0;    		
     	}
     }

Value staat in de klasse gedefineerd als:
Code:
private static String value;
 
De variabelen value in SerialEvent en in setColor zijn verschillende variable echter wel met dezelfde naam. De variable value in SerialEvent is een lokale variable en dus alleen geldig binnen de functie.

De variable in SetColor is static class variable en wordt alleen maar uitgelezen en nooit gezet.. Pas op met het gebruik van static varialen als meerdere instantie hebt van deze klasse gebruiken ze allemaal dezelfde variable.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan