ComboBox ja tekstiloota

no5 JII

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ä.

7

566

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • foobarfoo

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

      • No5 JII

        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!


      • foobarfoo
        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.


      • Javakko
        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.


      • keksa1
        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


      • Toteuta
        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???


      • foobarfoo
        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.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Lääppijä Lindtman jäi kiinni itse teosta

      Lindtman kyselemättä ja epäasiallisesti koskettelee viestintäpäällikköä. https://www.is.fi/politiikka/art-2000011780852
      Maailman menoa
      176
      4009
    2. Huomaatteko Demari Tytti ei esitä pahoitteluitaan

      Samanlainen ilmeisesti kuin Marin eli Uhriutuu no he ovat Demareita ja muiden yläpuolella siis omasta mielestään
      Maailman menoa
      81
      3159
    3. Vedonlyöntiä .

      Olen valmis lyömään ison vedon , että homma kaatuu . Jos kerta Sivonen ei lähde mukaan , niin ei tuoho usko kukaan muuka
      Ähtäri
      24
      2296
    4. Turvaan tulleet lähettävät omia lapsiaan vaaraan - hullua

      MOT-ohjelman jakso ”Loma vaihtui kahleisiin” kertoi, kuinka Suomessa ja muualla Euroopassa asuvat somaliperheet lähettäv
      Maailman menoa
      47
      2175
    5. Mikä on pahinta, mitä kaivatullesi

      pelkäät tapahtuvan? Jos kuolemaa, vakavia sairauksia yms. ei lasketa?
      Ikävä
      83
      2039
    6. TUNNISTELAATIKKO

      Tähän ketjuun voi laittaa yhdellä tai kahdella lauseella (tai vaikka yhdellä sanalla) täydellisen tunnisteen, jonka vain
      Ikävä
      85
      1361
    7. Minkä tunteen tunnet

      juuri nyt? ap kiitollisuuden.
      Tunteet
      40
      1280
    8. Tykkäätkö enemmän tavis- vai julkkiskisaajista tv:ssä?

      Tykkäätkö enemmän tavis- vai julkkiskisaajista tv:ssä? Moni reality ja visailuohjelma luottaa julkkiksiin, mutta sentään
      Tv-sarjat
      25
      1278
    9. Zoo jatkaa - jatkuuko mustamaalaus?

      Tänään on päätetty Zoon avaamisesta uudelleen. Mielenkiintoista nähdä kautokurujen reaktio, nyt kun kyse ei ole kunnalli
      Ähtäri
      60
      1076
    10. Valehdella saa, totuus salataan

      Vaikuttaa vähän siltä, että sensuuria toteutetaan juorupalstallakin. Asioita saa kaunistella ja vääristellä, mutta totuu
      Savonlinna
      10
      778
    Aihe