Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Java 2D

Hejsan!

Jag sitter och pillar lite med 2D i Java. Problemet är att jag får massa felmeddelande när jag kompilerar:

Fonts.java:2: cannot find symbol
symbol  : class TextLayout
location: package java.awt
import java.awt.TextLayout;
               ^
Fonts.java:10: cannot find symbol
symbol  : variable g2
location: class Fonts
                FontRenderContext frc = g2.getFontRenderContext();
                                        ^
Fonts.java:13: cannot find symbol
symbol  : class TextLayout
location: class Fonts
                TextLayout tl = new TextLayout(s, f, frc);
                ^
Fonts.java:13: cannot find symbol
symbol  : class TextLayout
location: class Fonts
                TextLayout tl = new TextLayout(s, f, frc);
                                    ^
Fonts.java:14: cannot find symbol
symbol  : class Dimension
location: class Fonts
                Dimension theSize=getSize();
                ^
Fonts.java:14: cannot find symbol
symbol  : method getSize()
location: class Fonts
                Dimension theSize=getSize();
                                  ^
Fonts.java:15: cannot find symbol
symbol  : variable Color
location: class Fonts
                g2.setColor(Color.green);
                            ^
Fonts.java:15: cannot find symbol
symbol  : variable g2
location: class Fonts
                g2.setColor(Color.green);
                ^
Fonts.java:16: cannot find symbol
symbol  : variable g2
location: class Fonts
                tl.draw(g2, theSize.width/30, theSize.height/2);
                        ^
9 errors

 

Min kod ser ut så här:

<code>import java.awt.Font;
import java.awt.TextLayout;
import java.awt.font.FontRenderContext;
public class Fonts
{
    public static void main()
    {
   

        FontRenderContext frc = g2.getFontRenderContext();
        Font f = new Font("Helvetica",Font.BOLD, 24);
        String s = new String("24 Pont Helvetica Bold");
        TextLayout tl = new TextLayout(s, f, frc);
        Dimension theSize=getSize();
        g2.setColor(Color.green);
        tl.draw(g2, theSize.width/30, theSize.height/2);

    }

}</code>

I meddelandet framgår det att den inte kan hitta klassen awt och sen klagar den på att den inte kan hitta g2. Sen en massa annat.

Vad är egentligen fel? Hur åtgärdar man detta?

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

FoHs bild

Är det all kod du har...?

  1. Java.awt.TextLayout finns inte, du vill eventuellt ha java.awt.font.TextLayout
  2. Vart kommer g2 ifrån? Du måste skapa den variabeln väl?
  3. Vad är det du egentligen kör getSize() på? (kanske en klass saknas eller så saknas funktionen helt?)
  4. Hur ska programmet veta vad Color är? (Saknas förmodligen en import.)

Det känns som att du inte är helt hemma på Java-programmering, faktiskt. Om det här är första kontakten med programmering och Java så bör du kanske överväga att börja på en lite lägre nivå. Om du trots allt har erfarenhet av Java-programmering kanske du behöver se över din utvecklingsmiljö. De här felen bör inte upptäckas först vid körning, utan du skulle i miljöer som Eclipse och NetBeans få veta direkt på skärmen när du skriver koden att det är något som inte stämmer. Där har du dessutom sk automatisk komplettering så att du hittar rätt importbibliotek och annat.

bryans bild

Tja!

Jag kopierade hela den kodsnutten från en tutorial. Om jag förstod allt korrekt så skulle den kodsnutten framkalla en grön text.

 

FoHs bild

Kan du länka till sidan där du hittade kodsnutten? Det kan ju vara så att det är en väldig gammal Java-version man använt och att saker flyttats runt, men koden känns ändå väldigt konstig (tycker jag, som inte är någon Java-expert).

Kristians bild

Låna en grundläggande bok i Java på biblioteket, själv gillar jag "Beginning Java" av Ivor Horton

---------------------------------------

Varje ny generation får en så kall och bitter ton efter en tid och det är bara de under tio som förstår hur man ska leva ett värdigt liv

---------------------------------------