01: // WebOnSwing - Web Application Framework
02: //Copyright (C) 2003 Fernando Damian Petrola
03: //
04: //This library is free software; you can redistribute it and/or
05: //modify it under the terms of the GNU Lesser General Public
06: //License as published by the Free Software Foundation; either
07: //version 2.1 of the License, or (at your option) any later version.
08: //
09: //This library is distributed in the hope that it will be useful,
10: //but WITHOUT ANY WARRANTY; without even the implied warranty of
11: //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12: //Lesser General Public License for more details.
13: //
14: //You should have received a copy of the GNU Lesser General Public
15: //License along with this library; if not, write to the Free Software
16: //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17:
18: package examples;
19:
20: import javax.swing.*;
21: import javax.swing.event.*;
22:
23: import net.ar.webonswing.managers.persistence.*;
24: import net.ar.webonswing.ui.*;
25:
26: public class WebOnSwingDemo2Contributor extends ListUIContributor {
27: public void doPersistenceContribution(
28: PersistenceContributionContainer aContributionManager) {
29: aContributionManager.persistValue(theComponent, String
30: .valueOf(((JList) getJComponent()).getSelectedIndex()));
31: }
32:
33: public void restorePersistedValue(
34: PersistenceContributionContainer aPersistenceManager) {
35: JList theList = (JList) getJComponent();
36:
37: ListSelectionListener[] theListeners = (ListSelectionListener[]) theList
38: .getListeners(ListSelectionListener.class);
39:
40: if (theListeners.length > 0) {
41: theList.removeListSelectionListener(theListeners[0]);
42: String aPersistedValue = (String) aPersistenceManager
43: .restoreValue(theComponent);
44: theList.setSelectedIndex(Integer.parseInt(aPersistedValue));
45: theList.addListSelectionListener(theListeners[0]);
46: }
47: }
48:
49: public boolean isPersistedValueEqualToModel(
50: PersistenceContributionContainer unPersistenceManager) {
51: return true;
52: }
53: }
|