1 32 33 package it.businesslogic.ireport.gui.listview; 34 import java.awt.*; 35 import javax.swing.*; 36 import javax.swing.event.*; 37 38 public class JListView extends JPanel 39 implements ChangeListener 40 { 41 protected JScrollPane scroll; 42 private ScrollableList list; 43 44 int listLayout = JList.HORIZONTAL_WRAP; 45 46 public JListView() 47 { 48 setLayout(new BorderLayout()); 49 50 add(BorderLayout.CENTER, scroll = 51 new JScrollPane( 52 list = new ScrollableList() )); 53 scroll.getViewport().setBackground( 54 getList().getBackground()); 55 stateChanged(new ChangeEvent(this)); 56 } 57 58 public void stateChanged(ChangeEvent event) 59 { 60 getList().setLayoutOrientation(listLayout); 61 if (listLayout == JList.VERTICAL) 62 { 63 scroll.setVerticalScrollBarPolicy( 64 JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); 65 scroll.setHorizontalScrollBarPolicy( 66 JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 67 } 68 if (listLayout == JList.VERTICAL_WRAP) 69 { 70 scroll.setVerticalScrollBarPolicy( 71 JScrollPane.VERTICAL_SCROLLBAR_NEVER); 72 scroll.setHorizontalScrollBarPolicy( 73 JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 74 } 75 if (listLayout == JList.HORIZONTAL_WRAP) 76 { 77 scroll.setVerticalScrollBarPolicy( 78 JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); 79 scroll.setHorizontalScrollBarPolicy( 80 JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 81 } 82 scroll.revalidate(); 83 } 84 85 public ScrollableList getList() { 86 return list; 87 } 88 89 public void setList(ScrollableList list) { 90 this.list = list; 91 } 92 93 94 } 95 | Popular Tags |