ComboBox ja tekstiloota

Haluan tehdä Javalla ohjelman, jossa Textareassa oleva teksti vaihtuu sen mukaan, mitä käyttäjä valitsee ComboBoxista. Esim. jos Combosta valitsee elementin auto, tekstilootaan tulee teksti auto, jos taas vaihtaa elementtiin juna, auto häviää ja korvautuu junalla.

Olen saanut aikaiseksi koodin, mutta siinä entinen teksti jää tekstilootaan kun valitsee uuden elementin. Olen aloittelija, en kaipaa näsäilyä kokeneemmilta. Ei myöskään ole koulutehtävä.
7591
Äänestä

Muut lukivat myös

Vastaukset 7

Vanhimmat

TextArea periytyy TextComponent-luokasta, jossa on metodi setText(String t), eli TextArea-luokalla on myös sama metodi.

Äänestä
  • Ongelma on, että tekstin pitää korvautua. Tekstilootassa voi olla tekstiä jo ennestään käyttäjän tekemistä muista valinnoista muissa komponenteissa. Ne pyyhkiytyvät yli, mikäli käyttää pelkkää setText-metodia. Lisäapua siis kaivataan!

    Äänestä

  • No5 JII kirjoitti:

    Ongelma on, että tekstin pitää korvautua. Tekstilootassa voi olla tekstiä jo ennestään käyttäjän tekemistä muista valinnoista muissa komponenteissa. Ne pyyhkiytyvät yli, mikäli käyttää pelkkää setText-metodia. Lisäapua siis kaivataan!

    Javassa on mahdollista käyttää säännöllisiä lausekkeita tekstin etsimiseen, http://java.sun.com/developer/technicalArticles/releases/1.4regex/
    Eli: haet textarean tekstin, haet ja korvaat siitä halutun sanan ja laitat uuden tekstin takaisin textareaan.

    Äänestä

  • foobarfoo kirjoitti:

    Javassa on mahdollista käyttää säännöllisiä lausekkeita tekstin etsimiseen, http://java.sun.com/developer/technicalArticles/releases/1.4regex/
    Eli: haet textarean tekstin, haet ja korvaat siitä halutun sanan ja laitat uuden tekstin takaisin textareaan.

    Joo, noinhan se käy. Tosin tässä kohdin pitää jo vähän miettiä onko ohjelman/käyttöliittymän rakenne ihan paras mahdollinen jos joutuu tämmöistä kikkailua tekemään. Paha sanoa tarkemmin kun ei tiedä mistä ohjelmasta on kyse.

    Äänestä

  • Javakko kirjoitti:

    Joo, noinhan se käy. Tosin tässä kohdin pitää jo vähän miettiä onko ohjelman/käyttöliittymän rakenne ihan paras mahdollinen jos joutuu tämmöistä kikkailua tekemään. Paha sanoa tarkemmin kun ei tiedä mistä ohjelmasta on kyse.

    noi regexpit on aina inhoja ja tässä tapauksessa minusta turhia, kun molemmissa lootissa on just samat tekstit.

    Voithan tehdä vaikka niin, että kun combosta painetaan jotain, niin teksti menee ArrayListiin tai taulukkoon ja kirjoitat jokaisen combon painalluksen jälkeen taulukon sinne textareaan takas.

    tai useempi taulukko per asiat jotka voivat korvata toisensa

    Äänestä

  • No5 JII kirjoitti:

    Ongelma on, että tekstin pitää korvautua. Tekstilootassa voi olla tekstiä jo ennestään käyttäjän tekemistä muista valinnoista muissa komponenteissa. Ne pyyhkiytyvät yli, mikäli käyttää pelkkää setText-metodia. Lisäapua siis kaivataan!

    Eli jos ymmärsin oikein, niin sulla on X määrä JComboBox:eja ja niiden valinnat päätyvät String muodossa JTextArea:aan ItemListener:in kautta ja haluat jonkin sanan korvautuvan sillä sanalla jonka valitset jostain boxista, josta valitsit sen toisenkin sanan joskus, huh???

    Tuntuis et ehkä tähän tarvittais JTable plus JComboBox renderöijä ja editori, vai miten sä sen tekstin tulkkaat sieltä JTextArea:sta. Onko se lause, kasa tarvittavia atribuutteja tai jotain muuta???

    Äänestä

  • Toteuta kirjoitti:

    Eli jos ymmärsin oikein, niin sulla on X määrä JComboBox:eja ja niiden valinnat päätyvät String muodossa JTextArea:aan ItemListener:in kautta ja haluat jonkin sanan korvautuvan sillä sanalla jonka valitset jostain boxista, josta valitsit sen toisenkin sanan joskus, huh???

    Tuntuis et ehkä tähän tarvittais JTable plus JComboBox renderöijä ja editori, vai miten sä sen tekstin tulkkaat sieltä JTextArea:sta. Onko se lause, kasa tarvittavia atribuutteja tai jotain muuta???

    Iteäkin kiinnostais myös tietää vähän tarkemmin et mikä on ideana. Helpottais myös neuvojen antamista.

    Äänestä

Kommentoi aloitusta


no5 JII kirjoitti:

Haluan tehdä Javalla ohjelman, jossa Textareassa oleva teksti vaihtuu sen mukaan, mitä käyttäjä valitsee ComboBoxista. Esim. jos Combosta valitsee elementin auto, tekstilootaan tulee teksti auto, jos taas vaihtaa elementtiin juna, auto häviää ja korvautuu junalla.

Olen saanut aikaiseksi koodin, mutta siinä entinen teksti jää tekstilootaan kun valitsee uuden elementin. Olen aloittelija, en kaipaa näsäilyä kokeneemmilta. Ei myöskään ole koulutehtävä.

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