Changeset 3503


Ignore:
Timestamp:
2011-03-21 10:31:43 (7 years ago)
Author:
vesal
Message:

listchooser

Location:
vesal11/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • vesal11/trunk/.classpath

    r3442 r3503  
    55        <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/> 
    66        <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/ohj1"/> 
     7        <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/gui"/> 
    78        <classpathentry kind="output" path="bin"/> 
    89</classpath> 
  • vesal11/trunk/src/kerhoswing/KerhoSwing.java

    r3478 r3503  
    1616import javax.swing.JComponent; 
    1717import javax.swing.JLabel; 
    18 import javax.swing.JList; 
    1918import javax.swing.JTextArea; 
    2019import javax.swing.JTextField; 
    21 import javax.swing.DefaultListModel; 
    2220import javax.swing.JOptionPane; 
    23 import javax.swing.ListModel; 
    24 import javax.swing.event.ListSelectionEvent; 
    25 import javax.swing.event.ListSelectionListener; 
     21import fi.jyu.mit.gui.IStringListChooser; 
     22import fi.jyu.mit.gui.SelectionChangeListener; 
    2623 
    2724import wbKerho.EditPanel; 
     
    6865    private JComboBox cbKentat; 
    6966    private JTextField editHaku; 
    70     private JList listJasenet; 
     67    private IStringListChooser listJasenet; 
    7168    private TableHarrastukset tableHarrastukset; 
    7269    private JComponent panelJasen; 
     
    7572 
    7673    private final Kerho kerho; 
    77     private final DefaultListModel listModelJasen = new DefaultListModel(); 
    7874    private Jasen jasenKohdalla;        // Kohdalla oleva jäsen 
    7975    private Jasen editJasen;            // Kohdalla oleva jäsen jos tehty muutoksia 
     
    148144     * @return lista johon jäsenet laitetaan 
    149145     */ 
    150     public JList getListJasenet() { 
     146    public IStringListChooser getListJasenet() { 
    151147        return listJasenet; 
    152148    } 
     
    156152     * @param listJasenet lista johon jäsenet laitetaan 
    157153     */ 
    158     public void setListJasenet(JList listJasenet) { 
     154    public void setListJasenet(IStringListChooser listJasenet) { 
    159155        this.listJasenet = listJasenet; 
    160156    } 
     
    201197        if ( editsj != null ) return; // on jo alustettu 
    202198        cbKentat.removeAllItems(); 
    203         listJasenet.setModel(listModelJasen); 
    204199        //tableHarrastukset.setModel(listModelHarrastus); 
    205200 
     
    217212        }); 
    218213 
    219         listJasenet.addListSelectionListener(new ListSelectionListener() { 
     214        listJasenet.addSelectionChangeListener(new SelectionChangeListener() { 
    220215            @Override 
    221             public void valueChanged(ListSelectionEvent e) { naytaJasen(); } 
     216            public void selectionChange(IStringListChooser sender) { naytaJasen(); } 
    222217        }); 
    223218 
     
    320315 
    321316    /** 
    322      * Luokka johon talletetaan listaan laitettavat alkiot. 
    323      * Ainoa tehtävä on pitää kiinni jäsenestä ja palauttaa jäsenen nimi merkkijonona   
    324      */ 
    325     private static class ListanAlkioJasen { 
    326         private final Jasen jasen; 
    327         public ListanAlkioJasen(Jasen jasen) { 
    328             this.jasen = jasen; 
    329         } 
    330  
    331         public Jasen getJasen() { 
    332             return jasen; 
    333         } 
    334  
    335         @Override 
    336         public String toString() { 
    337             return jasen.getNimi(); 
    338         } 
    339     } 
    340  
    341  
    342  
    343     /** 
    344317     * Suorittaa niiden jäsenten hakemisen, joiden valittu kenttä täyttää hakuehdon 
    345318     * @param jnro jäsenen numero, joka aktivoidaan haun jälkeen 
     
    352325        } 
    353326        Collection<Jasen> tulos = kerho.etsi(ehto, k); 
    354         listModelJasen.removeAllElements(); 
     327        listJasenet.clear(); 
    355328 
    356329        int i=0,index = 0; 
    357330        for (Jasen j : tulos) { 
    358331            if ( j.getTunnusnro() == jnro ) index = i; 
    359             listModelJasen.addElement(new ListanAlkioJasen(j)); // NOPMD 
     332            listJasenet.add(j.getNimi(),j); // NOPMD 
    360333            i++; 
    361334        } 
     
    398371        tarkistaMuutos(); 
    399372        listJasenet.setSelectedIndex(ind); 
    400         jasenKohdalla = ((ListanAlkioJasen)listModelJasen.get(ind)).getJasen(); 
     373        jasenKohdalla = (Jasen)(listJasenet.getSelectedObject()); 
    401374        setEditJasen(null);  
    402375        laitaJasen(); 
     
    540513    public void tulostaValitut(JTextArea text) { 
    541514        PrintStream os = TextAreaOutputStream.getTextPrintStream(text); 
    542         ListModel model = listJasenet.getModel(); 
    543         for ( int i=0; i<model.getSize(); i++) { 
    544             Jasen jasen = ((ListanAlkioJasen)model.getElementAt(i)).getJasen(); 
     515        for ( Object obj : listJasenet.getObjectList()) { 
     516            Jasen jasen = (Jasen)obj; 
    545517            tulosta(os,jasen); 
    546518            os.println("\n\n"); 
  • vesal11/trunk/src/wbKerho/KerhoGUI.java

    r3478 r3503  
    4141import java.awt.event.WindowEvent; 
    4242import javax.swing.ListSelectionModel; 
     43import fi.jyu.mit.gui.ListChooser; 
    4344 
    4445/** 
     
    6061    private JTextField editHaku = new JTextField(); 
    6162    private JComboBox cbKentat = new JComboBox(); 
    62     private JList listJasenet = new JList(); 
    6363    private JPanel panelLista = new JPanel(); 
    6464    private JPanel panelHaku = new JPanel(); 
     
    6767    private JButton buttonUusi = new JButton("Uusi j\u00E4sen"); 
    6868    private JButton buttonTalleta = new JButton("Talleta"); 
    69  
    70     private final JScrollPane scrollJasenet = new JScrollPane(listJasenet); 
    7169    private final JPanel panelHarrastukset = new JPanel(); 
    7270    private final JMenuBar menuBar = new JMenuBar(); 
     
    104102    private final JMenuItem mntmTulosta = new JMenuItem("Tulosta..."); 
    105103    private final JMenuItem mntmAvaa = new JMenuItem("Avaa..."); 
     104    private final ListChooser listJasenet = new ListChooser(); 
    106105 
    107106 
     
    133132     */ 
    134133    public KerhoGUI() { 
     134        kerhoswing.setListJasenet(listJasenet); 
    135135        kerhoswing.setLabelVirhe(labelVirhe); 
    136136        addWindowListener(new WindowAdapter() { 
     
    289289 
    290290        contentPane.add(splitPaneListaJasentiedot, BorderLayout.CENTER); 
    291         kerhoswing.setListJasenet(listJasenet); 
    292291        kerhoswing.setEditHaku(editHaku); 
    293         listJasenet.setModel(new AbstractListModel() { 
    294             private static final long serialVersionUID = 1L; 
    295             String[] values = new String[] {"Ankka Aku", "Susi Sepe"}; 
    296             @Override 
    297             public int getSize() { 
    298                 return values.length; 
    299             } 
    300             @Override 
    301             public Object getElementAt(int index) { 
    302                 return values[index]; 
    303             } 
    304         }); 
    305292        labelHakuehto.setAlignmentX(Component.CENTER_ALIGNMENT); 
    306293        labelHakuehto.setLabelFor(editHaku); 
     
    326313 
    327314        panelHaku.add(labelJasenet); 
     315        listJasenet.setPreferredSize(new Dimension(160, 132)); 
     316         
     317        panelLista.add(listJasenet, BorderLayout.CENTER); 
    328318 
    329319        editHaku.requestFocus(); 
    330  
    331         panelLista.add(scrollJasenet, BorderLayout.CENTER); 
    332320        splitPaneListaJasentiedot.setRightComponent(splitPaneJasenHarrastukset); 
    333321        splitPaneJasenHarrastukset.setResizeWeight(1.0); 
Note: See TracChangeset for help on using the changeset viewer.