JTextFieldiin kirjoitetun tekstin lukeminen

Jostain syystä en saa millään tavalla luettua JTextFieldiin kirjoitettavaa tekstiä. Eli mulla on JTextField, jota kuuntelen TextListenerillä.

import java.awt.event.TextListener;
import java.awt.event.TextEvent;

public class Tekstikenttä extends JTextField implements TextListener{

public void textValueChanged(TextEvent e){
System.out.println("Kirjoitettu teksti: " e.paramString());
}
}


Nyt komentoriville pitäisi mielestäni tekstikenttään kirjoituksen ja enterin painalluksen jälkeen tulostua: Kirjoitettu teksti: [se mitä kirjoitin tekstikenttään]. Eli mitähän en taaskaan ymmärtänyt oikein. Olen lukenut jo Sun-tutoriaalin aiheestaja ja kokeillut myös ActionListeneriä. Ei vain vieläkään aukea....
4374
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Siis mä en nyt tosiaan puutu muuhun koodiin, mutta jos sulla on JTextField Tekstikenttä, niin sä varmaan saat sen tekstin ulos sieltä kutsumalla metodia getString() eli Tekstikentta.getString().

Mut viisaammat varmaan osaa tulkita ton sun koodin.

Äänestä

kuuntelijan, mutta et ole liittänyt sitä itsensä kuuntelijaksi.

Ei siis riitä, että implementoi TextListenerin ja koodaa vaaditut metodit, vaan kuuntelija (tällä kertaa luokka itse) pitää myös liittää kuuntelijaksi.

tässä luokassa kait näin

this.addListener(this);

Äänestä

Niin tuossa sinä tulostat TextEvent-olion paramStringin, etkä TextField-olion sisältöä.
Kokeileppa vaihtaa tuo näin:

System.out.println("Kirjoitettu teksti: " this.getString());

'this' viittaa tähän Tekstikenttä-luokkaan, eli vähän niinkuin itseensä. Eli tässä käytetään TextField-luokan metodia getString.

Ja eikös pitäisi vielä importata Swing-käyttöliittymäpaketti, kun sinulla näkyy olevan noita J-alkuisia (eli Swingejä) komponentteja.
eli:

import javax.swing.*; // swing-paketti tai
import java.awt.*; // perus awt-käyttöliittymä

Helpompi varmaan kokeilla ensin perus awt-komponentteja, eli ottaa tuo J pois TextFieldistä

Toivottavasti tästä löytyy jotain sinnepäin....

Äänestä

Tekstinhakeminen:

JTextField tekstikenttä = new JTextField();
String teksti;
teksti = tekstikenttä.getText();

Äänestä

Kommentoi aloitusta


aivotjäässä? kirjoitti:

Jostain syystä en saa millään tavalla luettua JTextFieldiin kirjoitettavaa tekstiä. Eli mulla on JTextField, jota kuuntelen TextListenerillä.

import java.awt.event.TextListener;
import java.awt.event.TextEvent;

public class Tekstikenttä extends JTextField implements TextListener{

public void textValueChanged(TextEvent e){
System.out.println("Kirjoitettu teksti: " e.paramString());
}
}


Nyt komentoriville pitäisi mielestäni tekstikenttään kirjoituksen ja enterin painalluksen jälkeen tulostua: Kirjoitettu teksti: [se mitä kirjoitin tekstikenttään]. Eli mitähän en taaskaan ymmärtänyt oikein. Olen lukenut jo Sun-tutoriaalin aiheestaja ja kokeillut myös ActionListeneriä. Ei vain vieläkään aukea....

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu