1 19 package org.openharmonise.him.metadata.range.swing.range.details; 20 21 import java.awt.*; 22 import java.awt.event.*; 23 24 import javax.swing.*; 25 26 import org.openharmonise.him.metadata.range.swing.range.*; 27 import org.openharmonise.vfs.metadata.*; 28 import org.openharmonise.vfs.metadata.range.*; 29 import org.openharmonise.vfs.metadata.value.*; 30 31 32 37 public class TextDetails extends AbstractRangeDetails implements LayoutManager, KeyListener { 38 39 private JLabel m_minLengthLabel = null; 40 private JTextField m_minLengthField = null; 41 42 private JLabel m_maxLengthLabel = null; 43 private JTextField m_maxLengthField = null; 44 45 private RangeValue m_value = null; 46 private StringRange m_range = null; 47 48 52 public TextDetails(PropertyInstance propInst) { 53 super(propInst, "Text details"); 54 this.setup(); 55 } 56 57 private void setup() { 58 this.setLayout(this); 59 60 this.m_minLengthLabel = new JLabel("Minimum length"); 61 this.add(m_minLengthLabel); 62 this.m_minLengthField = new JTextField(); 63 this.m_minLengthField.addKeyListener(this); 64 this.m_minLengthField.setBorder(BorderFactory.createEtchedBorder()); 65 this.add(m_minLengthField); 66 67 this.m_maxLengthLabel = new JLabel("Maximum length"); 68 this.add(m_maxLengthLabel); 69 this.m_maxLengthField = new JTextField(); 70 this.m_maxLengthField.setBorder(BorderFactory.createEtchedBorder()); 71 this.m_maxLengthField.addKeyListener(this); 72 this.add(m_maxLengthField); 73 74 if(this.getPropertyInstance().getValues().size()>0) { 75 this.m_value = (RangeValue) this.getPropertyInstance().getValues().get(0); 76 Range range = this.m_value.getRange(); 77 78 if(range==null) { 79 this.m_range = new StringRange(); 80 this.m_value.setRange(m_range); 81 } else { 82 this.m_range = (StringRange)range; 83 } 84 this.m_minLengthField.setText( Integer.toString( this.m_range.getMinLength() ) ); 85 this.m_maxLengthField.setText( Integer.toString( this.m_range.getMaxLength() ) ); 86 } 87 } 88 89 92 public void layoutContainer(Container arg0) { 93 this.m_minLengthLabel.setSize(this.m_minLengthLabel.getPreferredSize()); 94 this.m_minLengthLabel.setLocation(20, 20); 95 96 this.m_minLengthField.setSize(40, m_minLengthField.getPreferredSize().height); 97 this.m_minLengthField.setLocation(120, 20); 98 99 this.m_maxLengthLabel.setSize(this.m_maxLengthLabel.getPreferredSize()); 100 this.m_maxLengthLabel.setLocation(20, 50); 101 102 this.m_maxLengthField.setSize(40, m_maxLengthField.getPreferredSize().height); 103 this.m_maxLengthField.setLocation(120, 50); 104 105 106 } 107 108 111 public void keyPressed(KeyEvent arg0) { 112 } 113 114 117 public void keyReleased(KeyEvent ke) { 118 if(ke.getSource()==this.m_minLengthField) { 119 try { 120 int nValue = Integer.parseInt(this.m_minLengthField.getText()); 121 this.m_range.setMinLength(nValue); 122 this.fireRangeDetailsChanged(m_value); 123 } catch(Exception e) { 124 } 125 } else if(ke.getSource()==this.m_maxLengthField) { 126 try { 127 int nValue = Integer.parseInt(this.m_maxLengthField.getText()); 128 if(nValue<=999) { 129 this.m_range.setMaxLength(nValue); 130 this.fireRangeDetailsChanged(m_value); 131 } else { 132 this.m_maxLengthField.setText("999"); 133 this.m_range.setMaxLength(999); 134 this.fireRangeDetailsChanged(m_value); 135 } 136 } catch(Exception e) { 137 } 138 } 139 } 140 141 144 public void keyTyped(KeyEvent arg0) { 145 } 146 147 } 148 | Popular Tags |