package com.hackerdude.swing.picklist.addremove; import java.awt.BorderLayout; import java.util.Vector; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.SwingConstants; /** * A Box with a list of choices. */ public class ChoicesListBox extends JPanel { BorderLayout blChoicesListbox = new BorderLayout(); JScrollPane spScroller = new JScrollPane(); JList lstChoiceList = new JList(); JPanel pnlTopPanel = new JPanel(); JLabel lblTitle = new JLabel(); ChoicesListModel listModel = new ChoicesListModel(new Vector()); private BorderLayout blTitleBorderLayout = new BorderLayout(); public ChoicesListBox() { try { jbInit(); lstChoiceList.setModel(listModel); } catch(Exception ex) { ex.printStackTrace(); } } public int getChoiceCount() { return lstChoiceList.getModel().getSize(); } void jbInit() throws Exception { this.setLayout(blChoicesListbox); lblTitle.setToolTipText(""); lblTitle.setHorizontalAlignment(SwingConstants.CENTER); lblTitle.setHorizontalTextPosition(SwingConstants.CENTER); lblTitle.setText("Choices"); pnlTopPanel.setLayout(blTitleBorderLayout); this.add(spScroller, BorderLayout.CENTER); this.add(pnlTopPanel, BorderLayout.NORTH); pnlTopPanel.add(lblTitle, BorderLayout.CENTER); spScroller.getViewport().add(lstChoiceList, null); } public void loadWithChoiceCache(Vector choices) { listModel = new ChoicesListModel(choices); lstChoiceList.setModel(listModel); } public ChoicesListModel getModel() { return listModel; } public void setTitle(String title) { lblTitle.setText(title); } }