1 19 package org.openharmonise.him.metadata.range.swing.range.details; 20 21 import java.awt.Container ; 22 import java.awt.Dimension ; 23 import java.awt.Font ; 24 import java.awt.LayoutManager ; 25 import java.awt.event.KeyEvent ; 26 import java.awt.event.KeyListener ; 27 28 import javax.swing.JLabel ; 29 import javax.swing.JTextField ; 30 31 import org.openharmonise.him.metadata.range.swing.range.*; 32 import org.openharmonise.vfs.metadata.*; 33 import org.openharmonise.vfs.metadata.range.*; 34 import org.openharmonise.vfs.metadata.value.*; 35 36 37 42 public class BooleanDetails extends AbstractRangeDetails 43 implements LayoutManager , KeyListener { 44 45 private RangeValue m_value = null; 46 private BooleanRange m_range = null; 47 48 private JLabel m_infoLabel = null; 49 50 private JLabel m_trueTextLabel = null; 51 private JLabel m_falseTextLabel = null; 52 53 private JTextField m_trueTextField = null; 54 private JTextField m_falseTextField = null; 55 private JLabel m_infoLabel2 = null; 56 57 61 public BooleanDetails(PropertyInstance propInst) { 62 super(propInst, "Boolean, no details"); 63 this.setup(); 64 } 65 66 private void setup() { 67 68 this.setLayout(this); 69 70 String fontName = "Dialog"; 71 int fontSize = 11; 72 Font font = new Font (fontName, Font.PLAIN, fontSize); 73 74 this.m_infoLabel = new JLabel ("Enter terms below to change the default labels (True / False)"); 75 this.m_infoLabel2 = new JLabel ("to a more context specific pair of terms for this Property."); 76 this.m_infoLabel.setFont(font); 77 this.m_infoLabel2.setFont(font); 78 this.add(m_infoLabel); 79 this.add(m_infoLabel2); 80 81 if(this.getPropertyInstance().getValues().size()>0) { 82 this.m_value = (RangeValue) this.getPropertyInstance().getValues().get(0); 83 Range range = this.m_value.getRange(); 84 85 if(range==null) { 86 this.m_range = new BooleanRange(); 87 this.m_value.setRange(m_range); 88 } else { 89 this.m_range = (BooleanRange)range; 90 } 91 } 92 93 this.m_trueTextLabel = new JLabel ("True label:"); 94 this.add(this.m_trueTextLabel); 95 96 this.m_trueTextField = new JTextField (this.m_range.getTrueText()); 97 this.m_trueTextField.addKeyListener(this); 98 this.add(this.m_trueTextField); 99 100 this.m_falseTextLabel = new JLabel ("False label:"); 101 this.add(this.m_falseTextLabel); 102 103 this.m_falseTextField = new JTextField (this.m_range.getFalseText()); 104 this.m_falseTextField.addKeyListener(this); 105 this.add(this.m_falseTextField); 106 } 107 108 111 public void layoutContainer(Container arg0) { 112 this.m_infoLabel.setSize(this.m_infoLabel.getPreferredSize()); 113 this.m_infoLabel.setLocation(10, 20); 114 this.m_infoLabel2.setSize(this.m_infoLabel2.getPreferredSize()); 115 this.m_infoLabel2.setLocation(10, 35); 116 117 this.m_trueTextLabel.setSize(this.m_trueTextLabel.getPreferredSize()); 118 this.m_trueTextLabel.setLocation(10, 60); 119 120 this.m_trueTextField.setSize(50, this.m_trueTextField.getPreferredSize().height); 121 this.m_trueTextField.setLocation(80, 60); 122 123 this.m_falseTextLabel.setSize(this.m_falseTextLabel.getPreferredSize()); 124 this.m_falseTextLabel.setLocation(10, 90); 125 126 this.m_falseTextField.setSize(50, this.m_falseTextField.getPreferredSize().height); 127 this.m_falseTextField.setLocation(80, 90); 128 } 129 130 133 public Dimension getPreferredSize() { 134 return new Dimension (this.m_infoLabel.getPreferredSize().width+20, 140); 135 } 136 137 140 public void keyPressed(KeyEvent arg0) { 141 } 142 143 146 public void keyReleased(KeyEvent ke) { 147 this.m_range.setTrueText(this.m_trueTextField.getText()); 148 this.m_range.setFalseText(this.m_falseTextField.getText()); 149 150 RangeValue newValue = (RangeValue) this.getPropertyInstance().getNewValueInstance(); 151 newValue.setRange(this.m_range); 152 this.fireRangeDetailsChanged(newValue); 153 } 154 155 158 public void keyTyped(KeyEvent arg0) { 159 } 160 } 161 | Popular Tags |