1 package rero.dck.items; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 import javax.swing.*; 7 import javax.swing.event.*; 8 9 import rero.config.*; 10 import rero.dck.*; 11 12 import java.util.*; 13 14 public class TabbedInput extends JPanel implements DItem 15 { 16 protected LinkedList items = new LinkedList(); 17 protected JTabbedPane tabs; 18 19 public TabbedInput() 20 { 21 setLayout(new BorderLayout()); 22 23 tabs = new JTabbedPane(); 24 add(tabs, BorderLayout.CENTER); 25 } 26 27 public void addTab(DTab item) 28 { 29 tabs.addTab(item.getTitle(), null, item.getDialog(), item.getDescription()); 30 items.add(item); 31 } 32 33 public Dimension getPreferredSize() 34 { 35 return new Dimension(0, (int)super.getPreferredSize().getHeight()); 36 } 37 38 public void setEnabled(boolean b) 39 { 40 Iterator i = items.iterator(); 41 while (i.hasNext()) 42 { 43 ((DContainer)i.next()).setEnabled(b); 44 } 45 46 tabs.setEnabled(b); 47 } 48 49 public void save() 50 { 51 Iterator i = items.iterator(); 52 while (i.hasNext()) 53 { 54 ((DContainer)i.next()).save(); 55 } 56 } 57 58 public int getEstimatedWidth() 59 { 60 return 0; 61 } 62 63 public void setAlignWidth(int width) 64 { 65 } 66 67 public void setParent(DParent parent) 68 { 69 Iterator i = items.iterator(); 70 while (i.hasNext()) 71 { 72 ((DContainer)i.next()).setParent(parent); 73 } 74 } 75 76 public JComponent getComponent() 77 { 78 return this; 79 } 80 81 public void refresh() 82 { 83 int count = 0; 84 Iterator i = items.iterator(); 85 while (i.hasNext()) 86 { 87 DTab item = (DTab)i.next(); 88 item.refresh(); 89 90 tabs.setEnabledAt(count, item.isEnabled()); 91 item.setEnabled(item.isEnabled()); 92 93 count++; 94 } 95 } 96 } 97 98 99 | Popular Tags |