KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jfree > ui > about > ContributorsTableModel


1 /* ========================================================================
2  * JCommon : a free general purpose class library for the Java(tm) platform
3  * ========================================================================
4  *
5  * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors.
6  *
7  * Project Info: http://www.jfree.org/jcommon/index.html
8  *
9  * This library is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful, but
15  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
17  * License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
22  * USA.
23  *
24  * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
25  * in the United States and other countries.]
26  *
27  * ---------------------------
28  * ContributorsTableModel.java
29  * ---------------------------
30  * (C) Copyright 2001-2004, by Object Refinery Limited.
31  *
32  * Original Author: David Gilbert (for Object Refinery Limited);
33  * Contributor(s): -;
34  *
35  * $Id: ContributorsTableModel.java,v 1.4 2005/11/16 15:58:41 taqua Exp $
36  *
37  * Changes
38  * -------
39  * 10-Dec-2001 : Version 1 (DG);
40  * 28-Feb-2002 : Moved into package com.jrefinery.ui.about. Changed import statements and
41  * updated Javadoc comments (DG);
42  * 08-Oct-2002 : Fixed errors reported by Checkstyle (DG);
43  */

44
45 package org.jfree.ui.about;
46
47 import java.util.List JavaDoc;
48 import java.util.ResourceBundle JavaDoc;
49
50 import javax.swing.table.AbstractTableModel JavaDoc;
51
52 /**
53  * A table model containing a list of contributors to a project.
54  * <P>
55  * Used in the ContributorsPanel class.
56  *
57  * @author David Gilbert
58  */

59 public class ContributorsTableModel extends AbstractTableModel JavaDoc {
60
61     /** Storage for the contributors. */
62     private List JavaDoc contributors;
63
64     /** Localised version of the name column label. */
65     private String JavaDoc nameColumnLabel;
66
67     /** Localised version of the contact column label. */
68     private String JavaDoc contactColumnLabel;
69
70     /**
71      * Constructs a ContributorsTableModel.
72      *
73      * @param contributors the contributors.
74      */

75     public ContributorsTableModel(final List JavaDoc contributors) {
76
77         this.contributors = contributors;
78
79         final String JavaDoc baseName = "org.jfree.ui.about.resources.AboutResources";
80         final ResourceBundle JavaDoc resources = ResourceBundle.getBundle(baseName);
81         this.nameColumnLabel = resources.getString("contributors-table.column.name");
82         this.contactColumnLabel = resources.getString("contributors-table.column.contact");
83
84     }
85
86     /**
87      * Returns the number of rows in the table model.
88      *
89      * @return The number of rows.
90      */

91     public int getRowCount() {
92         return this.contributors.size();
93     }
94
95     /**
96      * Returns the number of columns in the table model. In this case, there are always two
97      * columns (name and e-mail address).
98      *
99      * @return The number of columns in the table model.
100      */

101     public int getColumnCount() {
102         return 2;
103     }
104
105     /**
106      * Returns the name of a column in the table model.
107      *
108      * @param column the column index (zero-based).
109      *
110      * @return the name of the specified column.
111      */

112     public String JavaDoc getColumnName(final int column) {
113
114         String JavaDoc result = null;
115
116         switch (column) {
117
118             case 0: result = this.nameColumnLabel;
119                      break;
120
121             case 1: result = this.contactColumnLabel;
122                      break;
123
124         }
125
126         return result;
127
128     }
129
130     /**
131      * Returns the value for a cell in the table model.
132      *
133      * @param row the row index (zero-based).
134      * @param column the column index (zero-based).
135      *
136      * @return the value.
137      */

138     public Object JavaDoc getValueAt(final int row, final int column) {
139
140         Object JavaDoc result = null;
141         final Contributor contributor = (Contributor) this.contributors.get(row);
142
143         if (column == 0) {
144             result = contributor.getName();
145         }
146         else if (column == 1) {
147             result = contributor.getEmail();
148         }
149         return result;
150
151     }
152
153 }
154
Popular Tags