kerhoswing
Class KerhoSwing

java.lang.Object
  extended by kerhoswing.KerhoSwing

public class KerhoSwing
extends Object

Luokka joka käsittelee kerhoa Swing-komponenteilla. Luokan käyttö:

 1) Tee jollakin tavalla lomake, jossa on tarvittavat komponentit
 2) Laita lomakkeelle myös Lisää ja Talleta -napit niin halutessasi
 3) Luo koodissa lomakkeella KerhoSwing-olio
 
        kerhoswing = new KerhoSwing();
        kerhoswing.setListJasenet(listJasenet);
        kerhoswing.setEditHaku(editHaku);
        kerhoswing.setCbKentat(cbKentat);
        kerhoswing.setHarrastuksetTable(tableHarrastus);
        kerhoswing.setPanelJasen(boxJasen);
        kerhoswing.setLabelVirhe(labelVirhe);
        
        String virhe = kerhoswing.lueTiedosto("kelmit");
        if ( virhe != null ) JOptionPane.showMessageDialog(null, virhe);
 
4) Kutsu nappien tapahtumista mm. olion lisaa ja talleta -metodeja. kerhoswing.lisaa(); kerhoswing.talleta(); 5) Jotta kaikki tulee talletettua, kutsu ohjelmasta poistuvissa paikoissa kerhoswing.talleta(); 6) Harrastukset-taulukosta tulee tapahtuma kun jonkin solun sisältö muuttuu. Kutsu tällöin:
         
      tableHarrastus.addTableEditListener(new TableEditListener() {

Version:
10.4.2009, 1.1.2011 - lisätty harrastusten käsittely, 1.5.2011 - harrastukset muutettu StringTablen avulla toimivaksi
Author:
vesal

Constructor Summary
KerhoSwing()
          Alustaa luokan niin, että se voi käyttää Swing-komponentteja
KerhoSwing(Kerho kerho)
          Alustaa luokan niin, että tuodaan valmiiksi luotu kerho parametrina
 
Method Summary
 void alusta()
          Tämä alustaa valitut alueet käyttökuntoon.
 void avustus()
          Avataan ulkoinen selain näyttämään avustustekstiä.
 JComboBox getCbKentat()
           
 JTextField getEditHaku()
           
 JLabel getLabelVirhe()
           
  getListJasenet()
           
 JComponent getPanelJasen()
           
 StringTable getStringTable()
           
protected  void hae(int jnro)
          Suorittaa niiden jäsenten hakemisen, joiden valittu kenttä täyttää hakuehdon
protected  void kasitteleMuutosJaseneen(JTextField edit)
          Käsittelee edit-kenttään tulleen muutoksen jäseneen.
 String lueTiedosto(String s)
          Lukee kerhon tiedot tiedostosta.
protected  void naytaHarrastukset()
          Näytetään harrastukset taulukkoon.
protected  void naytaJasen()
          Näyttää listasta valitun jäsenen tiedot
 void poistaHarrastus()
          Poistetaan harrastustaulukosta valitulla kohdalla oleva harrastus.
 void poistaJasen()
          Poistetaan listasta valittu jäsen.
 void setCbKentat(JComboBox cbKentat)
           
 void setEditHaku(JTextField editHaku)
           
 String setHarrastus(IStringTable sender, int row, int column, Object s)
          Asetetaan harrastukseen uusi arvo
 void setLabelVirhe(JLabel labelVirhe)
           
 void setListJasenet(AbstractChooser listJasenet)
           
 void setPanelJasen(JComponent panelJasen)
           
 void setTableHarrastukset(StringTable tableHarrastukset)
           
 void setVirhe(String virhe)
          Laitetaan virheilmoitus näkyville jos labelVirhe on alustettu.
 String talleta()
          Tallettaa nykyisen mahdollisesti muutetun jäsenen ja sitten koko tiedoston
 void tarkistaMuutos()
          Tarkitetaan onko jäsenen tiedot muuttuneet ja jos on, kysytään halutaanko tallentaa
 void tulosta(PrintStream os, Jasen jasen)
          Tulostaa jäsenen tiedot
 void tulostaValitut(JTextArea text)
          Tulostaa listassa olevat jäsenet tekstialueeseen
 void uusiHarrastus()
          Tekee uuden tyhjän harrastuksen editointia varten
 void uusiJasen()
          Tekee uuden tyhjän jäsenen editointia varten
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KerhoSwing

public KerhoSwing()
Alustaa luokan niin, että se voi käyttää Swing-komponentteja


KerhoSwing

public KerhoSwing(Kerho kerho)
Alustaa luokan niin, että tuodaan valmiiksi luotu kerho parametrina

Parameters:
kerho - valmiiksi luotu kerho, jota käytetään
Method Detail

getLabelVirhe

public JLabel getLabelVirhe()
Returns:
mihin näytetään virheteksti

setLabelVirhe

public void setLabelVirhe(JLabel labelVirhe)
Parameters:
labelVirhe - mihin näytetään virheteksti

getCbKentat

public JComboBox getCbKentat()
Returns:
combobox jossa kenttälista

setCbKentat

public void setCbKentat(JComboBox cbKentat)
Parameters:
cbKentat - comboboxkenttälistaa varten

getEditHaku

public JTextField getEditHaku()
Returns:
edit jossa hakuehto

setEditHaku

public void setEditHaku(JTextField editHaku)
Parameters:
editHaku - edit johon saa kirjoittaa hakuehdon

getListJasenet

public  getListJasenet()
Returns:
lista johon jäsenet laitetaan

setListJasenet

public void setListJasenet(AbstractChooser listJasenet)
Parameters:
listJasenet - lista johon jäsenet laitetaan

getStringTable

public StringTable getStringTable()
Returns:
taulukko johon tulee jäsenen harrastukset

setTableHarrastukset

public void setTableHarrastukset(StringTable tableHarrastukset)
Parameters:
tableHarrastukset - taulukko johon tulee jäsenen harrastukset

getPanelJasen

public JComponent getPanelJasen()
Returns:
alue johon lisätään jäsenen yksittäiset kentät.

setPanelJasen

public void setPanelJasen(JComponent panelJasen)
Parameters:
panelJasen - alue johon lisätään jäsenen tiedot. Mielellään joku johon tulevat alekkain

alusta

public void alusta()
Tämä alustaa valitut alueet käyttökuntoon.


uusiJasen

public void uusiJasen()
Tekee uuden tyhjän jäsenen editointia varten


uusiHarrastus

public void uusiHarrastus()
Tekee uuden tyhjän harrastuksen editointia varten


naytaHarrastukset

protected void naytaHarrastukset()
Näytetään harrastukset taulukkoon. Tyhjennetään ensin taulukko ja sitten lisätään siihen kaikki harrastukset


lueTiedosto

public String lueTiedosto(String s)
Lukee kerhon tiedot tiedostosta. Tarkistetaan aluksi että kaikki kentät on asetettu paikalleen.

Parameters:
s - tiedoston nimi
Returns:
null jos onnistuu, muuten virheilmoitus

talleta

public String talleta()
Tallettaa nykyisen mahdollisesti muutetun jäsenen ja sitten koko tiedoston

Returns:
null jos menee hyvin, muuten virheteksti

hae

protected void hae(int jnro)
Suorittaa niiden jäsenten hakemisen, joiden valittu kenttä täyttää hakuehdon

Parameters:
jnro - jäsenen numero, joka aktivoidaan haun jälkeen

tarkistaMuutos

public void tarkistaMuutos()
Tarkitetaan onko jäsenen tiedot muuttuneet ja jos on, kysytään halutaanko tallentaa


naytaJasen

protected void naytaJasen()
Näyttää listasta valitun jäsenen tiedot


kasitteleMuutosJaseneen

protected void kasitteleMuutosJaseneen(JTextField edit)
Käsittelee edit-kenttään tulleen muutoksen jäseneen. Mikäli jäsentä ei vielä ole editoitu, luodaan jäsenestä kopio editJasen-olioon ja muutokset kohdistetaan tähän jäseneen. Näin voidaan muutoksia verrata jasen-olioon ja tunnistetaan muutostarpeet. Jos muutosta ei voida sijoittaa jäseneen, muutetaan taustaväri punaiseksi.

Parameters:
edit - muuttunut kenttä

setVirhe

public void setVirhe(String virhe)
Laitetaan virheilmoitus näkyville jos labelVirhe on alustettu. Mikäli virhettä ei ole, niin piilotetaan virheilmoitus.

Parameters:
virhe - virheteksti

poistaHarrastus

public void poistaHarrastus()
Poistetaan harrastustaulukosta valitulla kohdalla oleva harrastus.


poistaJasen

public void poistaJasen()
Poistetaan listasta valittu jäsen.


avustus

public void avustus()
Avataan ulkoinen selain näyttämään avustustekstiä.


tulosta

public void tulosta(PrintStream os,
                    Jasen jasen)
Tulostaa jäsenen tiedot

Parameters:
os - tietovirta johon tulostetaan
jasen - tulostettava jäsen

tulostaValitut

public void tulostaValitut(JTextArea text)
Tulostaa listassa olevat jäsenet tekstialueeseen

Parameters:
text - alue johon tulostetaan

setHarrastus

public String setHarrastus(IStringTable sender,
                           int row,
                           int column,
                           Object s)
Asetetaan harrastukseen uusi arvo

Parameters:
sender - mistä taulukosta pyyntö tuli
row - miltä riviltä
column - mistä sarakkeesta
s - mitä haluttiin laittaa
Returns:
null jos ok, muuten virhe