Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2002-2010 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package org.jdal.swing;
 
 
 import java.util.List;
 
 
A Twing List editor.

Author(s):
Jose Luis Martin - (jlm@joseluismartin.info)
 
 public class Selector<T> extends JPanel {
 
 	private String name;
available list items
 
 	private ListListModel available = new ListListModel();
selected list items
 
 	private ListListModel selected = new ListListModel();
all items
 
 	private List<T> all = new ArrayList<T>();
 
 	private JList availableList;
 	private JList selectedList;
 	
 	private JTextField availableSearch = new JTextField();
 	private JTextField selectedSearch = new JTextField();
 
 	private Icon rightArrow = FormUtils.getIcon("images/button_right.png");
 	private Icon leftArrow = FormUtils.getIcon("images/button_left.png");

A list of event listeners for this component.
 
 	protected boolean firingActionEvent = false;
 	
 	private int buttonWidth = 30;
 	private int buttonHeight = 30;
 	private int listWidth = 300;
 	private int listheight = 100;
 	private boolean showSearchFields = false;
 
 	public Selector() {
 	}
 
 	public Selector(List<T> all) {
 		this(allnew ArrayList<T>());
 		this. = all;
 
 	}
 
 	public Selector(List<T> availableList<T> selected) {
 		this. = new ListListModel(available);
 		this. = new ListListModel(selected);
 		.addAll(available);
 		.addAll(selected);
 	}
 
 	public void init() {
		JButton addButton = new JButton(new AddSelectedAction());
		JButton removeButton = new JButton(new RemoveSelectedAction());
		JScrollPane availableScroll = new JScrollPane();
		JScrollPane selectedScroll = new JScrollPane();
		availableScroll.setMinimumSize(new Dimension());
		// test message source
		if ( == null) {
		}
		fb.row();
		fb.row();
		fb.add(FormUtils.newLabelForBox(msa.getMessage("Selector.available")));
		fb.add(availableScroll);
		fb.endBox();
		fb.add(removeButton);
		fb.endBox();
		fb.add(addButton);
		fb.endBox();
		fb.row();
		fb.row();
		fb.add(FormUtils.newLabelForBox(msa.getMessage("Selector.selected")));
		fb.add(selectedScroll);
		fb.endBox();
	}

Add selected values to selected list.
	private void addSelected() {
		Object[] selectedValues = .getSelectedValues();
		if (selectedValues.length > 0) {
			availableModel.removeAll(Arrays.asList(selectedValues));
			selectedModel.addAll(Arrays.asList(selectedValues));
		}
	}

Clear selections on both lists
	private void clearSelections() {
	}

Remove selected values from selected list
	private void removeSelected() {
		Object[] selectedValues = .getSelectedValues();
		if (selectedValues.length > 0) {
			selectedModel.removeAll(Arrays.asList(selectedValues));
			availableModel.addAll(Arrays.asList(selectedValues));
		}
	}

Notify listeners that selected values changes
	protected void fireActionEvent() {
			ActionEvent event = new ActionEvent(this."selectorChanged");
				listener.actionPerformed(event);
		}
	}

Get Available list

Returns:
List with available values
	@SuppressWarnings("unchecked")
	public List<T> getAvailable() {
		return .getList();
	}

Sets the available list

Parameters:
available list to set
	public void setAvailable(List<T> available) {
		this..addAll(available);
		List<T> l = new ArrayList<T>();
		l.removeAll(available);
	}

Gets the selected values

Returns:
List with selected values
	@SuppressWarnings("unchecked")
	public List<T> getSelected() {
		return .getList();
	}
	public void setSelected(List<T> selected) {
		if (selected != null) {
			this..addAll(selected);
		}
	}
	public String getName() {
		return ;
	}
	public void setName(String name) {
		this. = name;
	}
	public Icon getRightArrow() {
		return ;
	}
	public void setRightArrow(Icon rightArrow) {
		this. = rightArrow;
	}
	public Icon getLeftArrow() {
		return ;
	}
	public void setLeftArrow(Icon leftArrow) {
		this. = leftArrow;
	}


Add an ActionListener

Parameters:
listener ActionListener to add
	public void addActionListener(ActionListener listener) {
		if (listener != null
			.add(ActionListener.classlistener);
	}

Remove an ActionListener

Parameters:
listener ActionListener to remove
	public void removeActionListner(ActionListener listener) {
	}

Returns:
the all
	public List<T> getAll() {
		return ;
	}

Parameters:
all the all to set
	public void setAll(List<T> all) {
		this. = all;
	}

Returns:
the buttonWidth
	public int getButtonWidth() {
		return ;
	}

Parameters:
buttonWidth the buttonWidth to set
	public void setButtonWidth(int buttonWidth) {
		this. = buttonWidth;
	}

Returns:
the buttonHeight
	public int getButtonHeight() {
		return ;
	}

Parameters:
buttonHeight the buttonHeight to set
	public void setButtonHeight(int buttonHeight) {
		this. = buttonHeight;
	}

Returns:
the showSearchFields
	public boolean isShowSearchFields() {
	}

Parameters:
showSearchFields the showSearchFields to set
	public void setShowSearchFields(boolean showSearchFields) {
		this. = showSearchFields;
	}
	public static void main(String[] args) {
		ApplicationContextGuiFactory.setPlasticLookAndFeel();
		Selector<Objectselector = new Selector<Object>();
		selector.setAvailable((Arrays.asList(new Object[] {"lala"})));
		selector.init();
		JFrame f = new JFrame();
		f.add(selector);
		f.setSize(800, 800);
		f.setVisible(true);
	}
	private class AddSelectedAction extends AbstractAction {
		private static final long serialVersionUID = 1L;
		public AddSelectedAction() {
		}
		public void actionPerformed(ActionEvent e) {
		}
	}
	private class RemoveSelectedAction extends AbstractAction {
		private static final long serialVersionUID = 1L;
		}
		public void actionPerformed(ActionEvent e) {
		}
	}

Returns:
the messageSource
	}

Parameters:
messageSource the messageSource to set
	public void setMessageSource(MessageSource messageSource) {
		this. = messageSource;
	}

Returns:
the listWidth
	public int getListWidth() {
		return ;
	}

Parameters:
listWidth the listWidth to set
	public void setListWidth(int listWidth) {
		this. = listWidth;
	}

Returns:
the listheight
	public int getListheight() {
		return ;
	}

Parameters:
listheight the listheight to set
	public void setListheight(int listheight) {
		this. = listheight;
	}
New to GrepCode? Check out our FAQ X