Avatar billede alister_crowley Nybegynder
31. januar 2005 - 22:36 Der er 13 kommentarer og
1 løsning

kun verticale scrollbars på awt textarea

Hej

Hvordan sætter jeg SCROLLBARS_VERTICAL_ONLY på et AWT TextArea
(Ikke swing !)

Og hvordan ændre jeg positionen på dette, så at den automatisk går ned i bunden.

Jeg har kigget på swings JScrollPane men det er ikke til at implentere i en løsning som er fremstillet i JDeveloper.
Avatar billede kalp Novice
31. januar 2005 - 22:44 #1
JTextArea jTextArea1 = new JTextArea();
JScrollPane jScrollPane1 = new JScrollPane(jTextArea1);


og så skal du bare add'e din jScrollPanel1 til din ContentPane.. eller et panel. Håber det var det du mente:)
Avatar billede jword Nybegynder
31. januar 2005 - 22:47 #2
1.
public TextArea(String text,
                int rows,
                int columns,
                int scrollbars)

2.
Måske
x.setCaretPosition(x.getText().length())
Avatar billede alister_crowley Nybegynder
31. januar 2005 - 22:50 #3
kalp

nej, faktisk det modsatte.
Problemet med ScrollPanel er at det ikke virker, og mit design bliver fucked.

jword

1) Ja, jeg kan godt læse API docs, men mangler et eksempel som virker i AWT TextArea, ikke swing ! (google finder kun swing)

2)

måske, men hvordan skal det umidbart bygges ind ?
Avatar billede jword Nybegynder
31. januar 2005 - 22:54 #4
Well den apidoc er ikke swing, men fra java.awt.TextArea ...  Jeg har ikke testet det, men hvis de skriver det i doc´en antager jeg det virker.
Avatar billede alister_crowley Nybegynder
31. januar 2005 - 22:56 #5
Grunden til jeg ikke vil bruge swing er at AWT TextArea har indbyggede scrollbars, og man kan så tilføje SCROLLBARS_VERTICAL_ONLY eller de 3-4 andre for at bestemme udseendet af scrollbaren.
Avatar billede alister_crowley Nybegynder
31. januar 2005 - 22:57 #6
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/TextArea.html

Field Summary
static int     SCROLLBARS_BOTH
          Create and display both vertical and horizontal scrollbars.
static int     SCROLLBARS_HORIZONTAL_ONLY
          Create and display horizontal scrollbar only.
static int     SCROLLBARS_NONE
          Do not create or display any scrollbars for the text area.
static int     SCROLLBARS_VERTICAL_ONLY
          Create and display vertical scrollbar only.

-----
Men at få det til at virke, har jeg ingen ide om.
Avatar billede jword Nybegynder
31. januar 2005 - 23:00 #7
Det virker ikke når du bruger fieldet i constructeren?

new TextArea(.., .., .., TextArea.SCROLLBARS_VERTICAL_ONLY);

???
Avatar billede alister_crowley Nybegynder
31. januar 2005 - 23:12 #8
nej, det virker ikke.
Avatar billede jword Nybegynder
31. januar 2005 - 23:24 #9
Det virker fint hos mig. SCROLLBARS_HORIZONTAL_ONLY giver horizontal scrollbar og SCROLLBARS_VERTICAL_ONLY giver vertical scrollbar.

TextArea a = new TextArea("", 100, 100, TextArea.SCROLLBARS_VERTICAL_ONLY);   
JFrame frame = new JFrame();
frame.getContentPane().add(a);
frame.pack();
frame.show();
Avatar billede alister_crowley Nybegynder
31. januar 2005 - 23:32 #10
ah, fejlen var pga. mit TextArea hed TextArea, og ved at bruge
SCROLLBARS_VERTICAL_ONLY blev der skabt en ulovlig refferance.

Vil lige se om jeg kan få x.setCaretPosition(x.getText().length()) tingen til at virke.
Avatar billede arne_v Ekspert
31. januar 2005 - 23:32 #11
Hvilken Java version bruger du ?

Jeg kan heller ikke genskabe problemet.

Testet på SUN Java 1.3.1, 1.4.1, 1.4.2 og 1.5.0
Avatar billede arne_v Ekspert
31. januar 2005 - 23:35 #12
ah
Avatar billede alister_crowley Nybegynder
31. januar 2005 - 23:35 #13
jaa, det virker :)

Så må jword heller komme med et svar :)
Avatar billede jword Nybegynder
31. januar 2005 - 23:39 #14
fint :-)
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