Mit JLabel bliver ikke vist - bruger Keylistener

Tags:    java swing

Jeg har et problem med mit program - skal have mit JLabel input vist på skærmen - det får jeg dog ikke.. Meget frustrerende. Vil have den til at blive vist under bg(png).

Window.java
Fold kodeboks ind/udJava kode 


Keylistener.java
Fold kodeboks ind/udJava kode 




6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 7 karma
Sorter efter stemmer Sorter efter dato
For at få dit output til at vises frem skal du gøre 2 ting.

Du skal huske at sætte bounds på dit output, og du skal huske at tilføje den til din container.. hvis du sætter disse linjer ind imellem linje 83 og 85, burde du kunne se din output tekst.

Fold kodeboks ind/udJava kode 




Grunden til at din input JLabel ikke bliver vist, er fordi at du har sat teksten til at den skal vises i y koordinatet: 1210 (605+605)

Og da dette ligger langt ude over kanten af vinduet, der er på 750, bliver den ikke vist.

Så snart du sætter input JLabel til følgende koordinater:

Fold kodeboks ind/udJava kode 


Skulle den gerne vise noget ^^



Et forslag kunne være at i stedet for at have problemmer med en JLabel, så kunne du benytte dig af metoden graphics.drawString, og så tegne det brugeren har skrevet til en string, som du selv gemmer i programmet, og kan manipulerer med.

For at få dette til at virke, skal du benytte dig af følgende algoritme i din paint metode.

1) Tegn baggrunden
2) Tegn andre ting
3) Tegn HUD (i dit tilfælde er dette den String, der før har været i dit JLabel





Et forslag kunne være at i stedet for at have problemmer med en JLabel, så kunne du benytte dig af metoden graphics.drawString, og så tegne det brugeren har skrevet til en string, som du selv gemmer i programmet, og kan manipulerer med.

For at få dette til at virke, skal du benytte dig af følgende algoritme i din paint metode.

1) Tegn baggrunden
2) Tegn andre ting
3) Tegn HUD (i dit tilfælde er dette den String, der før har været i dit JLabel



Ingen forslag til hvordan jeg får den kode jeg har lavet til at fungere? :P



For at få dit output til at vises frem skal du gøre 2 ting.

Du skal huske at sætte bounds på dit output, og du skal huske at tilføje den til din container.. hvis du sætter disse linjer ind imellem linje 83 og 85, burde du kunne se din output tekst.

Fold kodeboks ind/udJava kode 


Har ikke added min output endnu, lige nu er problemet at jeg ikke kan få input vist :P



Det virker - kan dog ikke forstå hvorfor det andet ikke virker? Mit JFrame er jo 750?

Hvis jeg sætter input til at ligge under billedet, altså 605 eller sådan noget, bliver det ikke vist. Sætter bounds til at være (5, 650, 200, 50). Men input bliver ikke vist. Hvis jeg nu bare sætter det på billedet som du foreslog altså input.setBounds(5, 500, 60, 60); så går der helt vildt lang tid før Input bliver vist og når jeg skriver noget på tastaturet tager det sindssygt lang tid før den reagere. Programmet er i det hele taget vildt langsomt, har lavet en anden terminal før, og der reagerede den optimalt.. Hvad er fejlen?



t