/* Eric Jewart 11/13/97 */ package awb; import java.awt.*; public class CharField extends java.awt.Panel { private TextField myField; private Label myLabel; public CharField() { myField = new TextField(); setLayout(new BorderLayout()); add("Center", myField); } public CharField(int cols) { myField = new TextField(cols); setLayout(new BorderLayout()); add("Center", myField); } public CharField(String text) { myField = new TextField(text.substring(0,1)); setLayout(new BorderLayout()); add("Center", myField); } public CharField(char c) { myField = new TextField("" + c); setLayout(new BorderLayout()); add("Center", myField); } public CharField(String text, int cols) { myField = new TextField(text.substring(0,1), cols); setLayout(new BorderLayout()); add("Center", myField); } public CharField(char c, int cols) { myField = new TextField("" + c, cols); setLayout(new BorderLayout()); add("Center", myField); } public char getChar() { return myField.getText().charAt(0); } public void setChar(char c) { myField.setText("" + c); } public void setChar(String s) { myField.setText(s.substring(0,1)); } public void addLabel(String lab) { if (myLabel == null) { myLabel = new Label(lab); remove(myField); add("West", myLabel); add("Center", myField); } else myLabel.setText(lab); } public void setLabel(String lab) { addLabel(lab); } public void setEditable(boolean b) { myField.setEditable(b); } public boolean echoCharIsSet() { return myField.echoCharIsSet(); } public int getColumns() { return myField.getColumns(); } public char getEchoChar() { return myField.getEchoChar(); } public void setEchoCharacter(char c) { myField.setEchoCharacter(c); } public boolean handleEvent(Event e) { // enter in tf--pass up window hierarchy if (e.id == Event.ACTION_EVENT) { e.target = this; return false; } if ((e.id == Event.KEY_PRESS) && (e.target == myField)) { if (e.key != 10) myField.setText(""); } return super.handleEvent(e); } }