Mercurial > hg > jslab
view src/samer/core_/viewers/swing/StringViewer.java @ 5:b67a33c44de7
Remove some crap, etc
author | samer |
---|---|
date | Fri, 05 Apr 2019 21:34:25 +0100 |
parents | bf79fb79ee13 |
children |
line wrap: on
line source
/* * StringViewer.java * * Copyright (c) 2000, Samer Abdallah, King's College London. * All rights reserved. * * This software is provided AS iS and WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. */ package samer.core.viewers.swing; import samer.core.util.*; import samer.core.types.*; import samer.core.*; import javax.swing.*; import java.awt.event.*; import java.util.*; public class StringViewer extends VariableViewer implements ActionListener, FocusListener { JTextField t; public StringViewer(VString v) { this((Variable)v); } public StringViewer(Variable v) { super(v); // setLayout(new BoxLayout(panel(),BoxLayout.X_AXIS)); setLayout(layout); t = new JTextField(4); t.addFocusListener(this); t.addActionListener(this); // add(Box.createHorizontalStrut(12)); add(t); update(null,null); JComponent jc=(JComponent)panel(); java.awt.Dimension pr=jc.getPreferredSize(); java.awt.Dimension mx=jc.getMaximumSize(); mx.height=pr.height; jc.setMaximumSize(mx); } // ....... Viewer bits ................................... public void update(Observable o, Object source) { if (source!=this) { // &&& t.setText(variable.getModel().string()); } super.update(o,source); } // ........ Functionality ................................ private void parseTextField() { variable.getModel().decode(t.getText()); variable.changed(this); } public void actionPerformed( ActionEvent e) { // set value and slider if (e.getSource()==t) parseTextField(); } public void focusGained( FocusEvent e) {} public void focusLost( FocusEvent e) { parseTextField(); } }