Avatar billede morw Nybegynder
29. oktober 2003 - 23:09 Der er 5 kommentarer og
1 løsning

Scroll automatisk og JList problemer

Hej

Jeg er ved at lave en chat og klienten er jeg ved at lave i Java.

Jeg har lige 2 spørgsmål:

Jeg har et JTextArea som chat-linierne bliver tilføjet til i bunden. Dog scroller den ikke selv ned når der kommer ny tekst. Kan ikke lige se i API’et hvordan det gøres? What to do?

Når en bruger kommer på skal jeg tilføje navnet til en JList. Jeg har så brug for at få omsat navnet til det pågældende brugerID. Synes dog ikke man kan bruge en JList ligesom select i html:

<option value="2">Mads</option>
<option value="3">Mikkel 5</option>

Altså hvis Mads vælges skal jeg bruge int 2 – hvordan gøres dette i en JList?

Noget med abstrakte datatyper i JList?
Avatar billede simonvalter Praktikant
29. oktober 2003 - 23:24 #1
spm 1 .. lig dit jTextArea i et jScrollPanel
Avatar billede simonvalter Praktikant
29. oktober 2003 - 23:27 #2
jeg er ikke lige med på spm 2 men er det ikke getSelectedIndex du skal have fat i der

http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JList.html#getSelectedIndex()
Avatar billede simonvalter Praktikant
29. oktober 2003 - 23:28 #3
scrollable textarea
    JTextArea textArea = new JTextArea();
    JScrollPane scrollableTextArea = new JScrollPane(textArea);
Avatar billede morw Nybegynder
29. oktober 2003 - 23:44 #4
textarea er i et scrollpane - man skal bare selv scolle ned. Den skal gøre det automatisk.

Når en bruger logger på får klient 3 typer data.

int socketID
String navn
String by

Dem skal jeg have gemt på en måde. Laver sikkert en klasse Brugere - altså en abstract datatype.

Denne datatype skal jeg have repræsenteret i min Jlist. Når jeg så vælger et navn skal jeg kunne give de forskellige data ud.


getSelectedIndex() bruger fortløbende numre og kan ikke bruges.
Avatar billede morw Nybegynder
29. oktober 2003 - 23:48 #5
Tror jeg skal ud i noget dataList.getModel().getElementAt(i)) ved spørgsmål 2

Prøver lige i morgen ... for træt nu
Avatar billede morw Nybegynder
30. oktober 2003 - 11:31 #6
1.

scrollBar = rullepanelIndtastning.getVerticalScrollBar();
scrollBar.setValue( scrollBar.getMaximum() );

2.

ListSelectionListener:

public void valueChanged(ListSelectionEvent e){


if(e.getValueIsAdjusting() == false){
  int id = brugere.getSelectedIndex();
  if(id != -1)
  {
    Bruger valgt = (Bruger) brugere.getModel().getElementAt(id);
    ..
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