standard size for lists.
This commit is contained in:
		
							parent
							
								
									7f9a44d0ad
								
							
						
					
					
						commit
						ed2a337bdc
					
				|  | @ -3,6 +3,7 @@ package nl.andrewlalis.model; | |||
| import org.kohsuke.github.GHTeam; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| import java.util.Arrays; | ||||
| import java.util.List; | ||||
| 
 | ||||
| /** | ||||
|  | @ -31,6 +32,14 @@ public class TATeam extends Team { | |||
|         this.name = name; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Gets a list of teaching assistants, as a convenience method to avoid having to do an array cast. | ||||
|      * @return An array of all teaching assistant members of this team. | ||||
|      */ | ||||
|     public TeachingAssistant[] getTeachingAssistants() { | ||||
|         return Arrays.copyOf(this.getMembers(), this.memberCount(), TeachingAssistant[].class); | ||||
|     } | ||||
| 
 | ||||
|     public String getName() { | ||||
|         return this.name; | ||||
|     } | ||||
|  |  | |||
|  | @ -1,6 +1,7 @@ | |||
| package nl.andrewlalis.ui.view; | ||||
| 
 | ||||
| import nl.andrewlalis.git_api.GithubManager; | ||||
| import nl.andrewlalis.ui.view.list_models.TATeamListCellRenderer; | ||||
| import nl.andrewlalis.ui.view.list_models.TATeamListModel; | ||||
| import nl.andrewlalis.ui.view.list_models.TeachingAssistantListCellRenderer; | ||||
| import nl.andrewlalis.ui.view.list_models.TeachingAssistantsListModel; | ||||
|  | @ -18,6 +19,8 @@ import java.awt.*; | |||
|  */ | ||||
| public class DefineTaTeamsDialog extends JDialog { | ||||
| 
 | ||||
|     private static final Dimension LIST_SIZE = new Dimension(200, -1); | ||||
| 
 | ||||
|     /** | ||||
|      * The manager used to manipulate the organization. | ||||
|      */ | ||||
|  | @ -63,6 +66,8 @@ public class DefineTaTeamsDialog extends JDialog { | |||
| 
 | ||||
|         ListModel model = new TATeamListModel(this.manager.getTeams()); | ||||
|         JList teamsList = new JList(model); | ||||
|         teamsList.setCellRenderer(new TATeamListCellRenderer()); | ||||
|         teamsList.setPreferredSize(LIST_SIZE); | ||||
|         teamsList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); | ||||
| 
 | ||||
|         JScrollPane teamsListScrollPane = new JScrollPane(teamsList); | ||||
|  | @ -84,6 +89,7 @@ public class DefineTaTeamsDialog extends JDialog { | |||
|         JList membersList = new JList(); | ||||
|         membersList.setModel(model); | ||||
|         membersList.setCellRenderer(new TeachingAssistantListCellRenderer()); | ||||
|         membersList.setPreferredSize(LIST_SIZE); | ||||
|         membersList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); | ||||
| 
 | ||||
|         JScrollPane membersListScrollPane = new JScrollPane(membersList); | ||||
|  |  | |||
|  | @ -0,0 +1,33 @@ | |||
| package nl.andrewlalis.ui.view.list_models; | ||||
| 
 | ||||
| import nl.andrewlalis.model.TATeam; | ||||
| import nl.andrewlalis.model.TeachingAssistant; | ||||
| 
 | ||||
| import javax.swing.*; | ||||
| import java.awt.*; | ||||
| 
 | ||||
| /** | ||||
|  * Determines how list cells are rendered for a list of TATeams. In this case, it shows the team name, and the tooltip | ||||
|  * text provides a list of members. | ||||
|  */ | ||||
| public class TATeamListCellRenderer extends DefaultListCellRenderer { | ||||
| 
 | ||||
|     @Override | ||||
|     public Component getListCellRendererComponent(JList<?> jList, Object o, int i, boolean b, boolean b1) { | ||||
|         super.getListCellRendererComponent(jList, o, i, b, b1); | ||||
|         if (o instanceof TATeam) { | ||||
|             TATeam team = (TATeam) o; | ||||
|             this.setText(team.getName()); | ||||
|             StringBuilder sb = new StringBuilder(); | ||||
|             TeachingAssistant[] teachingAssistants = team.getTeachingAssistants(); | ||||
|             for (int j = 0; j < teachingAssistants.length; j++) { | ||||
|                 sb.append(teachingAssistants[j].getGithubUsername()); | ||||
|                 if (j < teachingAssistants.length - 1) { | ||||
|                     sb.append('\n'); | ||||
|                 } | ||||
|             } | ||||
|             this.setToolTipText(sb.toString()); | ||||
|         } | ||||
|         return this; | ||||
|     } | ||||
| } | ||||
|  | @ -5,6 +5,9 @@ import nl.andrewlalis.model.TeachingAssistant; | |||
| import javax.swing.*; | ||||
| import java.awt.*; | ||||
| 
 | ||||
| /** | ||||
|  * Controls what is rendered in a single list cell when displaying a list of TeachingAssistants. | ||||
|  */ | ||||
| public class TeachingAssistantListCellRenderer extends DefaultListCellRenderer { | ||||
| 
 | ||||
|     @Override | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue